Submission #106423

#TimeUsernameProblemLanguageResultExecution timeMemory
106423DodgeBallManDetecting Molecules (IOI16_molecules)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "molecules.h" #define pii pair<int, int> #define x first #define y second using namespace std; vector<pii> v; vector<int> ans; vector<int> find_subset( int l, int u, vector<int> w ) { for( int i = 0 ; i < w.size() ; i++ ) v.emplace_back( pii( w[i], i ) ); sort( v.begin(), v.end() ); int l = 0, r = 0; long long sum = 0; while( l < w.size() ) { while( r < w.size() && sum < l ) sum += ( long long ) v[r++].x; if( sum >= l && sum <= u ) { for( int i = l ; i < r ; i++ ) ans.emplace_back( v[i].y ); return ans; } sum -= ( long long ) v[l++].x; } return {}; }

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:13:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for( int i = 0 ; i < w.size() ; i++ ) v.emplace_back( pii( w[i], i ) );
                      ~~^~~~~~~~~~
molecules.cpp:15:9: error: declaration of 'int l' shadows a parameter
     int l = 0, r = 0;
         ^
molecules.cpp:17:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while( l < w.size() ) {
            ~~^~~~~~~~~~
molecules.cpp:18:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         while( r < w.size() && sum < l ) sum += ( long long ) v[r++].x;
                ~~^~~~~~~~~~