题目
代码
#include <bits/stdc++.h>
using namespace std;
int main ()
{
int n,m;
map <string,int> shop;
while(cin>>n)
{
int N=n;
string str;
while (n--)
{
cin>>str;
shop[str]=0;
}
cin>>m;
int t;
while (m--)
{
n=N;
while (n--)
{
cin>>t>>str;
shop[str]+=t;
}
map<string,int>::iterator i;
int r=1;
for (i=shop.begin(); i!=shop.end(); i++)
{
if (i->second > shop["memory"]) r++;
}
cout<<r<<endl;
}
shop.clear();
}
return 0;
}
理解
map的定义:
所以在这里运用map去加上每一次商店上涨的价格。
map<string,int>::iterator i;
这是迭代器。为了下面运用i作为指针进行比较。