CCF--稀疏向量

为什么才60分呢?不要太迷惑



#include<iostream>
using namespace std;



struct vec{
    int index;
    int val;
}vec;


int main(){
    int a, b, n;
    cin >> n >> a >> b;
    struct vec u[a];
    struct vec v[b];

    for(int i = 0; i < a; i++){
        cin >> u[i].index >> u[i].val ;
    }
    for(int i = 0; i < b; i++){
        cin >> v[i].index >> v[i].val ;
    }
    long long sum = 0;
    int m = 0, k = 0;
    while(m < a && k < b){

        if(u[m].index == v[k].index){
            sum += u[m].val * v[k].val;
            m++;
            k++;

        }else{
            if(u[m].index > v[k].index){
                k++;
            }else{
                m++;
            }
        }
    }
    cout << sum << endl;
}



posted @ 2020-09-08 15:34  c_y_yuan  阅读(526)  评论(0编辑  收藏  举报