Submission #987459

#TimeUsernameProblemLanguageResultExecution timeMemory
987459mateuszwesDetecting Molecules (IOI16_molecules)C++17
0 / 100
1 ms348 KiB
#include <bits/stdc++.h>
typedef long long ll;
typedef unsigned long long ull;
#define F first
#define S second
#define pb push_back
#define pq priority_queue
#define pl pair<ll,ll>

#include "molecules.h"

using namespace std;

constexpr int debug = 0;

vector<int> find_subset(int l, int u, vector<int> w){
    vector<int> ans;
    ll sum = 0;
    ll poc, kon;
    poc = 0, kon = 0;
    sort(w.rbegin(), w.rend());
    
    
    while(kon < w.size()){
        sum += w[kon];
        
        //cout << poc << ' ' << kon << ' ' << sum << '\n';
        
        while((sum > u) && (poc <= kon)){
            sum -= w[poc];
            poc++;
        }
        
        if((sum >= l) && (sum <= u) && (poc <= kon)){
            for(auto kol: w) ans.pb(kol);
            /*
            while(poc <= kon){
                ans.pb(w[poc]);
                poc++;
            }
            */
            return ans;
        }
        kon++;
    }
    
    return ans;
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:24:15: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |     while(kon < w.size()){
      |           ~~~~^~~~~~~~~~
#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...