CCF CSP 202006-2 稀疏向量

#include <iostream>
#include <vector>
using namespace std;
typedef pair<int,int> values;
vector<values> u;
vector<values> v;

int main(){
    
    
    int n=0,a=0,b=0;
    cin>>n>>a>>b;
    for(int i=0;i<a;i++){
    
    
        int ui=0,uv=0;
        cin>>ui>>uv;
        u.push_back(make_pair(ui, uv));
    }
    for(int i=0;i<b;i++){
    
    
        int vi=0,vv=0;
        cin>>vi>>vv;
        v.push_back(make_pair(vi, vv));
    }
    long long res=0;
    for(int i=0,j=0;i<u.size()&&j<v.size();){
    
    
        if(v[j].first<u[i].first) j++;
        else if(v[j].first==u[i].first){
    
    
            res+=v[j].second*u[i].second;
            i++;
            j++;
        }
        else i++;
    }
    cout<<res<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Cindy_00/article/details/108430972