C/C++教程

用LUA(和C++)刷PAT (Advanced Level) ——1037 Magic Coupon

本文主要是介绍用LUA(和C++)刷PAT (Advanced Level) ——1037 Magic Coupon,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

int的bit数是32,题目里明确标识可以int解决的事不要用double

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    int Nc, Np;
    vector<int> C, P;
    int result = 0;
    cin>>Nc;

    for(int i = 0; i < Nc; i++){
        int d;
        cin>>d;
        C.push_back(d);
    }
    
    cin>>Np;
    
    for(int i = 0; i < Np; i++){
        int d;
        cin>>d;
        P.push_back(d);
    }
    
    sort(C.begin(), C.end());
    sort(P.begin(), P.end());
    
    auto Citr = C.begin(), Pitr = P.begin();
    while(Citr != C.end() && Pitr != P.end()  && *Citr < 0 && *Pitr < 0){
        result += (*Citr)*(*Pitr);
        Citr ++;
        Pitr ++;
    }
    
    reverse(C.begin(), C.end());
    reverse(P.begin(), P.end());

    Citr = C.begin(), Pitr = P.begin();
    while(Citr != C.end() && Pitr != P.end()  && *Citr > 0 && *Pitr > 0){
        result += (*Citr)*(*Pitr);
        Citr ++;
        Pitr ++;
    }
    
    cout<<result;
}
这篇关于用LUA(和C++)刷PAT (Advanced Level) ——1037 Magic Coupon的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!