ps:题目是要求每次增长那个价格后增长后的排名。
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <queue>
#include <stack>
#include <vector>
#include <map>
using namespace std;
int main()
{
int n , m;
while(cin >> n)
{
map<string , int>M;
string a;
int b;
for(int i = 0 ; i < n ; i ++ )
{
cin >> a;
M[a] = 0;
}
cin >> m;
for(int i = 0 ; i < m ; i ++ )
{
for(int j = 0 ; j < n ; j ++ )
{
cin >> b >> a;
M[a] += b;
}
map<string , int>::iterator it;
int maxx = M["memory"];
int num = 0;
for(it = M.begin() ; it != M.end() ; it ++ )
{
if(it -> second > maxx) num ++ ;
}
cout << num + 1 << endl;
}
}
}