Run ID:7058

提交时间:2025-04-04 15:37:19

#include<bits/stdc++.h> using namespace std; int a[10001],k,n,_max; //k组数据,每组数据有n个水果,水果编号1-n之间,a[i]代表编号为i的水果数量, //_max:同一编号水果数量最多的 //思路:当最多的水果_max<一半水果数量,那么可以隔天吃不一样的水果 //注意这里要区分如果水果总数为奇数和偶数的情况 int main(){ cin>>k;//有k组数据 while(k--){ cin>>n;//有n个水果 for(int i=1;i<=n;i++){ int temp; cin>>temp; a[temp]++; _max=max(_max,a[temp]); } if(n%2==0){//偶数个水果总数 if(_max<=n/2) cout<<"Y"<<endl; else cout<<"N"<<endl; } else{//奇数个水果总数 if(_max<=(n/2+1)) cout<<"Y"<<endl; else cout<<"N"<<endl; } _max=0; memset(a,0,sizeof(a)); } return 0; }