Submission #430736

#TimeUsernameProblemLanguageResultExecution timeMemory
430736Play_ErwanDetecting Molecules (IOI16_molecules)C++11
100 / 100
61 ms6200 KiB
#include "molecules.h"
#include<bits/stdc++.h>
using namespace std;
//#define int long long
#define pb push_back
#define F first
#define S second

int a,b=-1,con;
long long s;
vector<int> v;
vector< pair<int,int> > w2;

bool cp(pair<int,int> xx, pair<int,int> yy){
    return xx.F<yy.F;
}

std::vector<int> find_subset(int l, int u, std::vector<int> w) {

    for(int i=0;i<w.size();i++)w2.pb({w[i],i});
    sort(w2.begin(),w2.end(),cp);
//    for(auto x:w2)cout<<x.F<<" "<<x.S<<"   ";
//    cout<<"\n";
//    cout<<s<<"\n";
    for(int i=0;i<w.size();i++){
        if(s+w2[i].F>u)break;
        s+=w2[i].F; b=i;
    }

    if(b==-1)return v;
    while(s<l){
        b++;
        if(b==w.size())break;
        s+=w2[b].F;
        s-=w2[a].F;
        a++;
    }

    if(s>=l){
        for(int i=a;i<=b;i++)v.pb(w2[i].S);
    }

    return v;
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:20:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |     for(int i=0;i<w.size();i++)w2.pb({w[i],i});
      |                 ~^~~~~~~~~
molecules.cpp:25:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |     for(int i=0;i<w.size();i++){
      |                 ~^~~~~~~~~
molecules.cpp:33:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |         if(b==w.size())break;
      |            ~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...