SPJ UKE 求调
  • 板块学术版
  • 楼主SafariMo
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/10/17 20:11
  • 上次更新2023/11/2 13:12:55
查看原帖
SPJ UKE 求调
820807
SafariMo楼主2023/10/17 20:11
#include "testlib.h"
#define int long long 
using namespace std;
const int N=1e6+7;
int v[N];
inline int sum(int r){
	return r*(r+1)/2;
}
inline bool solve(long long x,long long y,long long z){
    long long n=x,m=y,k=z;
    if(m+1<k)return 1;
	if(sum(k-1)>n)return 1;
	n-=sum(k-1);
	m-=k-1;
	if(!m&&n)return 1;
	if(n<m) return 1;
	if(m==1&&n==k) return 1;
	if(k==1&&n<2*m) return 1;
	if(k==2&&n==m+1) return 1;
    return 0;
}
signed main(int argc, char* argv[]) {
	int T=inf.readInt();
	while(T--){
		long long n=inf.readLong(),m=inf.readLong(),k=inf.readLong();
		if(!m) continue;
		int is=solve(n,m,k);
		int begin=ouf.readLong();
		if(is&&begin!=-1){
			quitf(_wa, "There are no solution but you give one.");
		}
		if(begin==-1&&!is) quitf(_wa, "There are a solution but you give -1.");
		if(is) continue;
 		if(begin==k) quitf(_wa, "The mex is wrong,it is not given k.");
		if(begin<k) v[begin]++;
 		for(int i=1;i<m;++i){
 			int p=ouf.readLong();
 			if(p==k) quitf(_wa, "The mex is wrong,it is not given k.");
			if(p<k)v[p]++;
 	  	}
 	   	for(int i=1;i<k;++i){
 	   		if(!v[i]){
 	   			quitf(_wa, "The mex is wrong,it is smaller than given k.");	
			} 
		}
	}
    quitf(_ok, "The answer is correct.");

}
Unknown Error.FAIL Unexpected end of file - int32 expected ()
2023/10/17 20:11
加载中...