제출 #123610

#제출 시각아이디문제언어결과실행 시간메모리
123610Nodir_BobievDetecting Molecules (IOI16_molecules)C++14
19 / 100
2 ms380 KiB
# include <iostream> # include <vector> # include <algorithm> using namespace std; vector< int > find_subset( int l, int u, vector < int > w ) { vector < pair < int, int > > vc; int n = 0; for( auto c: w )vc.push_back( make_pair( c, n++) ); sort( vc.begin(), vc.end() ); long long sm = 0; vector < int > ans; for( int i = n - 1; i >= 0; i -- ){ sm += vc[i].first; ans.push_back( vc[i].second ); if( sm > u ) break; if( sm >= l ) return ans; } for( int i = 0; i < min( ans.size(), n - ans.size() ); i ++ ){ if( sm >= l && sm <= u ) break; sm -= vc[ ans[i] ].first - vc[i].first; ans[i] = vc[i].second; } if( sm < l || u < sm ) ans.clear(); return ans; } /* int main() { vector < int > ret = find_subset( 10, 20, {15,17,16,18} ); for( auto c: ret) { cout << c << ' '; } return 0; } */

컴파일 시 표준 에러 (stderr) 메시지

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:25:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for( int i = 0; i < min( ans.size(), n - ans.size() ); i ++ ){
                     ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...