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;
}