75分
WA #3,4,5,13
求个hack。。。
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int W = 114514;
int a,ans,n[W],x[W],m1[W],m2[W],vis[W];
int main(){
cin>>a;
n[0]=1e9;
while(a){
ans=0;
memset(n,0,sizeof n);
memset(x,0,sizeof x);
memset(m1,0,sizeof m1);
memset(m2,0,sizeof m2);
memset(vis,0,sizeof vis);
for(int _(1);_<=a;_++){
cin>>n[_];//n[_]=n[_]*sqrt(2);
if(_==1){
x[1]=n[1];
continue;
}
x[0]=-n[_];
for(int __(_-1);__>=0;__--){
if(n[__]>=n[_]){
x[_]=x[__]+2*n[_];
break;
}
if(n[__]<n[_] and n[__]*3>n[_]){
x[_]=x[__]+2*n[__];
break;
}
if(n[__]<n[_] and x[__]+n[__]*2>=n[_]){
x[_]=x[__]+n[__]*2;
break;
}
}
}
for(int _(1);_<=a;_++){
//cout<<x[_]<<" ";
for(int __(x[_]-n[_]);__<x[_]+n[_];__++){
if(m1[__]<n[_])
m1[__]=n[_],m2[__]=_;
//cout<<__<<" ";
}
//cout<<"\n";
}
for(int _(0);_<5000;_++)
vis[m2[_]]=1;//cout<<m1[_]<<" ";
for(int _(1);_<5000;_++)
if(vis[_])cout<<_<<" ";
cout<<"\n";
cin>>a;
}
}