はやし屋

競技プログラミングのメモ きたない

AOJ 2013: Osaki

http://judge.u-aizu.ac.jp/onlinejudge/review.jsp?rid=605772
入るときと出るときっぽいものをぶち込んで、
ソートして最大値取るいも

#include<cstdio>
#include<vector>
#include<algorithm>
#include<map>
using namespace std;
int main(){
  int n;
  while(scanf("%d",&n) && n){
    vector < pair < int , int > > v;
    int h , m , s;
    for(int i = 0 ; i < n ; ++i){
      scanf("%d:%d:%d",&h,&m,&s);
      v.push_back(make_pair(h*3600+m*60+s , 1));
      scanf("%d:%d:%d",&h,&m,&s);
      v.push_back(make_pair(h*3600+m*60+s , -1));
    }
    sort(v.begin(),v.end());
    int res , ans ;
    res = ans = 0;
    for(int i = 0 ; i < v.size();++i){
      res += v[i].second;
      ans = max(ans,res);
    }
    printf("%d\n",ans);
  }
}