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;
}




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM