Codeforces 2A Winner
2013-08-19 01:24
357 查看
模拟水题
但是英语太烂 没读懂题目,导致wa了好多次啊Orz
但是英语太烂 没读懂题目,导致wa了好多次啊Orz
#include <iostream> #include <string> #include <vector> #include <iterator> #include <algorithm> #include <cassert> using namespace std; #define MAX(a,b) a>b?a:b vector< pair<string,int> > vect; vector< string > vecn; int found(string name) { for(int i=0;i<vect.size();i++) { if(vect[i].first==name) return i; } return -1; } inline bool cmp( const pair<string,int>& a,const pair<string,int>& b) { return a.second>b.second; } bool iswinner(string name) { for(int i=0;i<vecn.size();i++) { if(name==vecn[i]) return true; } return false; } int main() { string name,tn[1100]; int score,tc[1100]; int n; cin >> n; for(int i=0;i<n;i++) { cin >> tn[i] >> tc[i]; } for(int i=0;i<n;i++) { int j=found(tn[i]); if( j<0 ) vect.push_back(make_pair(tn[i],tc[i])); else vect[j].second+=tc[i]; } sort(vect.begin(),vect.end(),cmp); int maxn=vect[0].second; if(vect.size()==1) cout << vect[0].first <<endl; else { if(vect[0].second!=vect[1].second) cout << vect[0].first << endl; else { for(int i=0;i<vect.size();i++) { if(vect[i].second!=maxn) break; vecn.push_back(vect[i].first); } vect.clear(); for(int i=0;i<n;i++) { int j; j=found( tn[i] ); if(j<0) vect.push_back(make_pair(tn[i],tc[i])); else vect[j].second+=tc[i]; j=found( tn[i] ); if( vect[j].second>=maxn&&iswinner(vect[j].first) ) { cout << vect[j].first << endl; break; } } } } return 0; }
相关文章推荐
- codeforces 2A winner(stl应用,模拟)
- CodeForces - 2A - Winner
- Codeforces 2A Winner
- Codeforces 2A. Winner(字符串:模拟)
- codeforces 2A. Winner
- CodeForces 2A-Winner
- codeforces 2A. Winner
- Codeforces 2A :winner
- codeforces 2A Winner
- Codeforces 2A :winner
- CodeForces 2A Winner(CodeForces的题意总是那么难理解)——Codeforces Beta Round #2
- CODEFORCES 2A-Winner
- Codeforces 2A Winner (map运用)
- Codeforces 2A - Winner模拟题
- [codeforces] 2A - Winner
- codeforces 2A Winner
- CodeForces 2A - Winner(模拟)
- CodeForces 2A - Winner(模拟)
- codeforces 2A Winner
- Codeforces 2A-Winner(模拟)