UE求助
查看原帖
UE求助
388414
comcopy楼主2022/10/31 22:21
#include<iostream>
#include<set>
#define int long long
using namespace std;
int n,m;
int a[40];
set<int>s[40];
//s[i]表示以i结尾的和的集合 
int ans=0;
signed main(){
	cin>>n>>m;
	for(int i=1;i<=n;++i){
		cin>>a[i];
		a[i]%=m;
		s[i].insert(a[i]);
	}
	for(int i=1;i<=n;++i){
		for(int j=1;j<i;++j){
			set<int>::iterator it;
			for(it=s[j].begin();it!=s[j].end();++it){
				int to=*it;
				s[i].insert((a[i]+to)%m);
				ans=max(ans,(a[i]+to)%m);
			}
		}
	} 
	cout<<ans<<endl; 
	return(0-0);
}

2022/10/31 22:21
加载中...