昨天月赛的Div2B 我一开始的程序是
#include<bits/stdc++.h>
#define int long long
using namespace std;
void file(string s){freopen((s+".in").c_str(),"r",stdin),freopen((s+".out").c_str(),"w",stdout);}
int read(){
int f=1,a=0;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')f=-f;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
a=a*10+ch-'0';
ch=getchar();
}
return a*f;
}
signed main(){
// file("");
ios::sync_with_stdio(0);
int n=read(),m=read(),k=read(),p=read();
int maxn=k/p,rest=k-maxn*p;
if(p==n){
if(k%n==0){
puts("YES");
for(int i=1;i<=n;++i){
cout<<k/n<<' '<<m-k/n<<'\n';
}
}else{
puts("NO");
}
return 0;
}
if(maxn>m){
maxn=m,rest=k-maxn*p;
}
int rtot=rest/(n-p),addtot=rest%(n-p);
if(rtot>maxn-1||(rtot==maxn-1&&addtot!=0)){
puts("NO");
return 0;
}
puts("YES");
for(int i=1;i<=p;++i){
cout<<maxn<<' '<<m-maxn<<'\n';
}
for(int i=p+1;i<=n;++i){
if(addtot!=0){
cout<<rtot+1<<' '<<m-(rtot+1)<<'\n';
addtot--;
}else{
cout<<rtot<<' '<<m-rtot<<'\n';
}
}
return 0;
}
WA了将近一半
但当我把所有的puts
改为cout
就能AC了
敢问有哪位巨佬知道这是什么神奇的feature??