vendredi 10 juillet 2020

How can I make pair using vector in c++?

I am having difficulty pushing two integers as a pair in vector. I'd like to know where it went wrong. Thank you!

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
    vector <pair<int,int>> vec;
    int s,n; cin>>s>>n;

    for(int i=0;i<n;i++){
        int in1,in2; cin>>in1>>in2;
        vec[i].push_back(make_pair(in1,in2));
    }
    sort(vec.begin(),vec.end());

    int checker=1;
    for(int i=0;i<n;i++){
        if(s<=vec[i].first){
            checker=0;
            break;
        }
        else{
            s+=vec[i].second;
        }
    }
    if(checker>0)cout<<"YES"<<endl;
    else if(checker==0)cout<<"NO"<<endl;
    return 0;
}

Aucun commentaire:

Enregistrer un commentaire