제출 #124050

#제출 시각아이디문제언어결과실행 시간메모리
124050Nodir_BobievDetecting Molecules (IOI16_molecules)C++14
0 / 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 = w.size(); for( size_t i = 0; i < n; i ++ )vc.push_back( make_pair( w[i], i) ); sort( vc.begin(), vc.end() ); long long sm = vc[0].first; vector < int > ans={ vc[0].second }; for( int i = 1; i <n; i ++ ){ if( sm + vc[i].first >= u ) break; sm += vc[i].first; ans.push_back( vc[i].second ); } for( int i = ans.size(); i < n; i ++ ){ if( sm >= l ) break; sm += vc[i].first - vc[ ans[i%ans.size()] ].first; ans[i%ans.size()] = vc[i].second; } if( sm < l || u < sm ) ans.clear(); return ans; } /* int main() { vector < int > ret = find_subset( 14, 15, {5,5,6,6} ); 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:13:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for( size_t i = 0; i < n; i ++ )vc.push_back( make_pair( w[i], 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...