読者です 読者をやめる 読者になる 読者になる

AOJ 0061 Rank Checker

Programming Algorithm AOJ

404 Not Found

#include <map>
#include <vector>
#include <cstdio>

using namespace std;

int main(){
	int n, m;
	map<int, vector<int> > l;
	vector<vector<int> > v;
	while(~scanf("%d,%d\n", &n, &m)){
		if(!n && !m) break;
		l[m].push_back(n);
	}

	for(map<int, vector<int> >::reverse_iterator rit = l.rbegin(); rit != l.rend(); rit++)
		v.push_back((*rit).second);

	while(~scanf("%d\n", &n))
		for(int i = 0; i < v.size(); i++)
			for(int j = 0; j < v[i].size(); j++)
				if(v[i][j] == n){
					printf("%d\n", i + 1);
					break;
				}
	
	return 0;
}

何も考えないで解いた。
もうちょっとマシな解き方できるだろうにと自分でも思う