http://acm.hdu.edu.cn/showproblem.php?pid=2648

stl的map直接建立映射

View Code
#include <iostream>
#include <algorithm>
#include <string>
#include <map>
using namespace std ;
string name[10001];
int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        for(int i=0;i<n;i++)
            cin >> name[i] ;
        int m;
        scanf("%d",&m);
        map <string ,int> M ;
        map <string ,int> :: iterator it ;
        while(m--)
        {
            int price;
            string shop;
            for(int i=0;i<n;i++)
            {
                cin >> price >> shop ;
                M[shop]+=price;
            }
            int cnt=0;
            for(it=M.begin();it!=M.end();it++)
                if(it->second>M["memory"])
                    cnt++;
            cout << cnt+1 << endl ;
        }
    }
    return 0;
}