제출 #403289

#제출 시각아이디문제언어결과실행 시간메모리
403289Leonardo_PaesDetecting Molecules (IOI16_molecules)C++17
46 / 100
3 ms460 KiB
#include <bits/stdc++.h>
using namespace std;
#define f first
#define s second

vector<int> find_subset(int ll, int u, vector<int> w){
    vector<int> ans;
    vector<pair<int,int>> v(w.size());
    for(int i=0; i<v.size(); i++) v[i] = {w[i], i};
    sort(v.begin(), v.end());
    int l = 0, r = 0, sum = v[0].f;
    while(l < v.size()){
        if(ll <= sum and sum <= u) break;
        if(sum < ll) sum += v[++r].f;
        else if(sum > ll) sum -= v[l++].f;
    }
    if(sum < ll or sum > u) return ans;
    while(l <= r) ans.push_back(v[l++].s);
    return ans;
}

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

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:9:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    9 |     for(int i=0; i<v.size(); i++) v[i] = {w[i], i};
      |                  ~^~~~~~~~~
molecules.cpp:12:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   12 |     while(l < v.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...