第一道没想到好方法,暴力n^2过了,大佬轻拍
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int main (){
int N;
cin>>N;
vector<int> p(N);
for(int i=0;i<N;i++) {
int temp;
cin>>temp;
p[i]=temp;
}
int K;
cin>>K;
vector<int> help(N);
int sum=0;
for(int i=0;i<N;i++) {
sum += p[i];
help[i]=sum;
}
int ans=0;
int len=0;
for(int i=N-1;i>=0;i--){
if (help[i] % K == 0){
ans=max(i+1,ans);
break;
}
for (int j=0;j<i;j++){
if ( (help[i]-help[j])%K == 0){
len=i-j;
ans=max(ans,len);
break;
}
}
}
cout<<ans<<endl;
return 0;
}
第二道就不多说了
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
int main(){
int n;
cin>>n;
vector<int> s(n);
int sum=0;
int maxs=0;
for(int i=0;i<n;i++){
int temp;
cin>>temp;
s[i]=temp;
sum+=s[i];
maxs=max(maxs,s[i]);
}
if(sum - maxs >= maxs)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
return 0;
}