PKU 2379 ACM Rank Table
http://poj.org/problem?id=2379
ICPC形式のコンテストの参加者の提出データからランキングを作れというような問題。
やるだけだと思ったのに、入力が時間でソートされていないという罠にはまり続け、discussを見てしまいました。
longlongが必要だと思ったり、increasingの意味を勘違いしているのかと思ったり結構はまってました。
ll team[1100][30]; pair<pair<ll,ll>,int> po[1100]; pair<PI,PI>in[1000]; main(){ int c,n; cin>>c>>n; rep(i,c)po[i].S=i; rep(i,n)cin>>in[i].S.F>>in[i].F.S>>in[i].F.F>>in[i].S.S; sort(in,in+n); rep(i,n){ ll ci,pi,ti,ri; ci=in[i].S.F; pi=in[i].F.S; ti=in[i].F.F; ri=in[i].S.S; --ci; --pi; if(ri==1){ ti+=team[ci][pi]*20*60; team[ci][pi]=-1; po[ci].F.F--; po[ci].F.S+=ti; }else team[ci][pi]++; } sort(po,po+c); rep(i,c){ if(i)cout<<' '; cout<<po[i].S+1; } cout<<endl; }