CCF-202006-2-稀疏向量
程序员文章站
2024-01-02 19:01:16
题目:http://118.190.20.162/view.page?gpid=T1041.60分 运行超时#include using namespace std;int main(){ int n,a,b; cin>>n>>a>>b; mapu; int index,value; for(int i=0;i
题目:http://118.190.20.162/view.page?gpid=T104
1.60分 运行超时
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,a,b;
cin>>n>>a>>b;
map<int,int>u;
int index,value;
for(int i=0;i<a;i++)
{
cin>>index>>value;
u[index]=value;
}
long long res=0;
for(int i=0;i<b;i++)
{
cin>>index>>value;
if(u[index])
res+=value*u[index];
}
cout<<res;
return 0;
}
2.100 满分
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
int n,a,b;
cin>>n>>a>>b;
map<int,int>u;
int index,value;
for(int i=0;i<a;i++)
{
cin>>index>>value;
u[index]=value;
}
long long res=0;
for(int i=0;i<b;i++)
{
cin>>index>>value;
if(u[index])
res+=value*u[index];
}
cout<<res;
return 0;
}
2.100 满分
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,a,b;
scanf("%d %d %d",&n,&a,&b);
//cin>>n>>a>>b;
vector<pair<int,int>>u;
int index,value;
for(int i=0;i<a;i++)
{
//cin>>index>>value;
scanf("%d %d",&index,&value);
u.push_back({index,value});
}
long long res=0;
int j=0;
for(int i=0;i<b;i++)
{
scanf("%d %d",&index,&value);
while(j<a)
{
if(index<u[j].first)
break;
else if(index>u[j].first)
j++;
else
{
res+=value*u[j].second;
j++;
}
}
}
printf("%lld",res);
return 0;
}
输入输出cin,cout会得90分,超时
本文地址:https://blog.csdn.net/weixin_43846587/article/details/108152239