[bzoj4721][noip2016]蚯蚓
我艹这B题有毒。做法不说了我就想骂骂出题人还有评测姬。
首先干啥卡STL的queue??我学C++招你惹你了?回回卡queue,一卡就是20多分。。shabi
还有行尾空格咋的了,Presentation Error???行尾空格不会过滤掉吗?zhazha
还有long long。你tm卡long long几个意思啊??就卡一个log(7e7)的常数连long long都卡?。。laji
半个小时写完正解,两个小时调格式调乱七八糟的玩意。wocaosininainaio。。。
自己写的也有些地方有毛病。
1.第二问直接从三个队列里贪心选取,不用sort,会多log。
2.改格式的时候细节出现问题(我是sb吗)。
3.mdzz,freopen没关。
4.就COGS评测姬正常一点不卡PE。
#include<iostream> #include<cstdio> #include<cmath> #include<queue> #include<cstring> #include<ctime> #include<algorithm> using namespace std; typedef long long ll; const int mxn=8000010; const int inf=(1<<31)-1; struct que{ int q[mxn]; int h,t; que(){ memset(q,0,sizeof q);h=t=0; } int front(){ return h==t?-inf:q[h+1]; } void push(int x){ q[++t]=x; } void pop(){ h++; } bool empty(){ return h==t; } }q1,q2,q3; inline int rd(){ int r=0,c=getchar(); while(!isdigit(c))c=getchar(); while(isdigit(c)) r=r*10+c-'0',c=getchar(); return r; } int a[mxn]; inline bool cmp(int a,int b){return a>b;} int main(){ freopen("earthworm.in","r",stdin); freopen("earthworm.out","w",stdout); ll n=rd(),m=rd(),q=rd(),u=rd(),v=rd(),t=rd(); for(int i=1;i<=n;i++) a[i]=rd(); sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++) q1.push(a[i]); int l=0; for(int i=1;i<=m;i++){ int x=q1.front(); int y=q2.front(); int z=q3.front(); long long k; if(x>=y&&x>=z)q1.pop(),k=x; else if(y>=x&&y>=z)q2.pop(),k=y; else q3.pop(),k=z; k+=l; if(!(i%t))printf("%d ",k); ll k1=k*u/v,k2=k-k1; l+=q; q2.push(k1-l),q3.push(k2-l); } memset(a,0,sizeof a); puts(""); for(int i=1;i<=n+m;i++){ int x=q1.front(); int y=q2.front(); int z=q3.front(); int k; if(x>=y&&x>=z)q1.pop(),k=x; else if(y>=x&&y>=z)q2.pop(),k=y; else q3.pop(),k=z; a[i]=k; } for(int i=1;i*t<=n+m;i++) printf("%d ",a[i*t]+l); }
附图骂人(欢迎大家来骂我菜)