题解写了N多方法,我用的是最水的那种。。
起始区间只有(0 <= Fi <= 500),500秒之后排名必然不会变化了。。所以,暴力500秒,然后排个序就行了。
1 #include2 #include 3 #include 4 #define MAXN 50010 5 struct stt{ 6 int s,t,v,id; 7 bool operator <(const stt& st)const{ 8 return t>st.t||(t==st.t&&s>st.s) 9 ||(t==st.t&&s==st.s&&id st[minid].s+st[minid].t*i))27 minid=j;28 }29 if(i!=0)printf(" ");30 printf("%d",st[minid].id);31 st[minid].v=1;32 }33 std::sort(st,st+n);34 for(int i=0;i