제출 #1299901

#제출 시각아이디문제언어결과실행 시간메모리
1299901tuncay_pashaDetecting Molecules (IOI16_molecules)C++20
100 / 100
34 ms4132 KiB
#include "molecules.h"
#include <vector>
#include <algorithm>
#include <iostream>

using namespace std;

// Keep the standard signature using 'int' to match the header
vector<int> find_subset(int l, int u, vector<int> w) {
    int n = w.size();
    
    // Store pair {value, original_index}
    vector<pair<int, int>> v;
    for (int i = 0; i < n; ++i) {
        v.push_back({w[i], i});
    }
    sort(v.begin(), v.end());

    int lp = 0, rp = 0;
    // Use long long for the sum to prevent overflow
    long long cur = v[0].first; 

    while (lp < n && rp < n) {
        if (l <= cur && cur <= u) {
            vector<int> ans;
            // FIX: Use v[i].second to get the ORIGINAL index
            for (int i = lp; i <= rp; ++i) {
                ans.push_back(v[i].second);
            }
            return ans;
        }
        else if (cur < l) {
            if (rp + 1 >= n) break;
            rp++;
            cur += v[rp].first;
        }
        else { // cur > u
            // Important check: don't let lp cross rp
            if (lp > rp) break; 
            
            cur -= v[lp].first;
            lp++;
            
            // Edge case: if window becomes empty, reset to next element
            if (lp > rp && lp < n) {
                rp = lp;
                cur = v[lp].first;
            }
        }
    }
    return {};
}

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

molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...