#include
#include
#include
using namespace std; struct data { int x; int a; }; data l[1024],r[1024]; bool c1(data q,data p) { return q.x
p.x; } int main() { int n,i,t,p,ans1,ans2,p1,p2; while(~scanf(%d ,&n)) { p1=p2=0; for(i=0;i
0) { r[p2].x=t; r[p2].a=p; p2++; } else { l[p1].x=t; l[p1].a=p; p1++; } } sort(l,l+p1,c2); sort(r,r+p2,c1); int u1[1024],u2[1024]; memset(u1,0,sizeof(u1)); memset(u2,0,sizeof(u2)); for(ans1=0,i=0;;i++) { if(i%2==0) { if(i/2>=p1) break; ans1+=l[i/2].a; } else { if(i/2>=p2) break; ans1+=r[i/2].a; } } for(ans2=0,i=0;;i++) { if(i%2==1) { if(i/2>=p1) break; ans2+=l[i/2].a; } else { if(i/2>=p2) break; ans2+=r[i/2].a; } } printf(%d ,max(ans1,ans2)); } return 0; }
?