在CCF官网上有问题,原因记录如下:
DevC++ 版本太老,所以编译时若使用unordered_map应使用:
#include<tr1/unordered_map>
using namespace std::tr1;
代码
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<tr1/unordered_map>
using namespace std::tr1;
using namespace std;
#define x first
#define y second
#define LL long long
const int N = 1e9+10;
int n, a, b;
LL res;
unordered_map<int, int> u, v; // 使用map超时,改用unordered_map解决问题!
int main()
{
cin>>n>>a>>b;
for(int i = 0; i < a; i ++)
{
int idx;
scanf("%d", &idx);
scanf("%d", &u[idx]);
}
for(int i = 0; i < b; i ++)
{
int idx;
scanf("%d", &idx);
scanf("%d", &v[idx]);
}
for(auto it = u.begin(); it != u.end(); it++)
{
if(v[it->x] != 0)
res += (LL)it->y * (LL)v[it->x];
}
cout<<res<<endl;
return 0;
}