月赛D2T2求助,orz
  • 板块学术版
  • 楼主yy2111
  • 当前回复8
  • 已保存回复8
  • 发布时间2020/11/28 20:32
  • 上次更新2023/11/5 07:09:01
查看原帖
月赛D2T2求助,orz
286881
yy2111楼主2020/11/28 20:32

https://www.luogu.com.cn/record/42793932 这是评测记录,不知道哪里错了,求dalao看看

#include<bits/stdc++.h>
using namespace std;
#define ull unsigned long long
ull n,m,k,p,s;
bool f;
#define Int register int


inline ull in(){
	ull s=0,w=1;
	char ch=getchar();
	while(!isdigit(ch)){if(ch=='-')w=-1;ch=getchar();}
	while(isdigit(ch))s=(s<<3)+(s<<1)+(ch^48),ch=getchar();
	return s*w;
}

int main(){
	n=in();m=in();k=in();p=in();
	s=k/p;if(s>m)s=m;
	if(((n-p)*(s-1)<(k-(s*p)))||(k==0&&p!=n)){printf("NO\n");return 0;}
	printf("YES\n");
	for(Int i=1;i<=p;i++){
		printf("%llu %llu\n",s,m-s);
	}
	k-=(s*p);
	for(Int i=p+1;i<=n;i++){
		if(f){
			printf("0 %llu\n",m);continue;
		}
		if(k>=s-1){
			k-=(s-1);
			printf("%llu %llu\n",s-1,m-s+1);
		}
		else{
			printf("%llu %llu\n",k,m-k);
			f=1;
		}
	}
	return 0;
}
2020/11/28 20:32
加载中...