我这样写错在哪了?
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int n,v; string s;
struct inf{
string s;
int tm;
bool operator<(const inf &b) const{
return tm<b.tm;
}
};
map<string,int>b;
map<inf,int>a;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>s>>v;
if(b.find(s)!=b.end()) {
b[s]=v;
}
else b.insert(pair<string,int>(s,v));
a.insert(pair<inf,int>((inf){s,v},i));
}
map<inf,int>::iterator iter;
for(iter = a.begin(); iter != a.end(); iter++){
if(iter->first.tm<b[iter->first.s])continue;
cout<<iter->second<<endl;
}
system("pause");
return 0;
}
全部评论
(1) 回帖