bzoj 3709: [PA2014]Bohater 贪心
Posted guangheli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bzoj 3709: [PA2014]Bohater 贪心相关的知识,希望对你有一定的参考价值。
code:
#include <bits/stdc++.h> #define N 100005 #define LL long long using namespace std; void setIO(string s) { string in=s+".in"; freopen(in.c_str(),"r",stdin); } struct data { LL a,d; int id; data(LL a=0,LL d=0,int id=0):a(a),d(d),id(id){} }a[N],b[N]; bool cmp1(data a,data b) { return a.a<b.a; } bool cmp2(data a,data b) { return a.d>b.d; } int main() { // setIO("input"); int n,i,j,t1=0,t2=0; LL z; scanf("%d%lld",&n,&z); for(i=1;i<=n;++i) { LL x,y; scanf("%lld%lld",&x,&y); if(y>=x) a[++t1]=data(x,y,i); else b[++t2]=data(x,y,i); } sort(a+1,a+1+t1,cmp1); sort(b+1,b+1+t2,cmp2); for(i=1;i<=t1;++i) { if(z<=a[i].a) { printf("NIE "); return 0; } else { z+=a[i].d-a[i].a; } } for(i=1;i<=t2;++i) { if(z<=b[i].a) { printf("NIE "); return 0; } else { z+=b[i].d-b[i].a; } } printf("TAK "); for(i=1;i<=t1;++i) printf("%d ",a[i].id); for(i=1;i<=t2;++i) printf("%d ",b[i].id); return 0; }
以上是关于bzoj 3709: [PA2014]Bohater 贪心的主要内容,如果未能解决你的问题,请参考以下文章