Submission #74652

#TimeUsernameProblemLanguageResultExecution timeMemory
74652kjain_1810Detecting Molecules (IOI16_molecules)C++17
0 / 100
2 ms576 KiB
#include "molecules.h"
#include <bits/stdc++.h>
#define pb push_back
#define f first
#define s second
using namespace std;

typedef long long ll;

vector< pair<ll, ll> >vec;
ll u, l;

std::vector<int> find_subset(int L, int U, std::vector<int> w) {
    for(ll a=0; a<w.size(); a++)
    	vec.pb({w[a], a});
    sort(vec.begin(), vec.end());
    ll ptr=0, sum=vec[0].f, u=U, l=L, ptr2=1;
    bool flag=false;
    for(ll a=1; a<vec.size(); a++)
    {
    	if(sum<=u && sum>=l)
    	{
    		flag=true;
    		ptr2=a;
    		break;
    	}
    	sum+=vec[a].f;
    	if(sum<=u && sum>=l)
    	{
    		flag=true;
    		ptr2=a+1;
    		break;
    	}
    	while(sum>u)
    	{
    		sum-=vec[ptr].f;
    		ptr++;
    	}
    }
    if(!flag)
    {
    	vector<int>yo;
    	yo.clear();
    	return yo;
    }
    vector<int>yo;
    for(ll b=ptr; b<ptr2; b++)
    {
    	yo.pb(w[vec[b].s]);
    }
    return yo;
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:14:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(ll a=0; a<w.size(); a++)
                 ~^~~~~~~~~
molecules.cpp:19:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(ll a=1; a<vec.size(); a++)
                 ~^~~~~~~~~~~
#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...