A.大水题
#include<cstdio>
#include<cstring>#include<algorithm>
#include<iostream>
using namespace std;
int main()
{
int n,s,a[105];
cin>>n>>s;
for(int i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
int sum=0;
for(int i=0;i<n-1;i++)
sum+=a[i];
if(sum>s)printf("NO\n");
else printf("YES\n");
return 0;
}
B.
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;
//行数为奇,就不能变下去了;
int main()
{
int a[105][105];
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
if(n&1)printf("%d\n",n);
else
{
int flag=1;
int x=n;
while(flag!=0)
{
for(int i=1;i<=x/2;i++){
for(int j=1;j<=m;j++){
if(a[i][j]!=a[x+1-i][j]){
flag=0;break;
}
}
if(flag==0)break;
}
if(flag)x/=2;
if(x==1||x&1)break;
}
cout<<x<<endl;
}
return 0;
}