제출 #1299593

#제출 시각아이디문제언어결과실행 시간메모리
1299593martin_011Detecting Molecules (IOI16_molecules)C++20
100 / 100
35 ms5288 KiB
#include "molecules.h"
#include <bits/stdc++.h>
 
using namespace std;
 
#define ll long long
#define ld long double
#define vi vector<int>
#define vll vector<ll>
#define str string
#define vd void
#define vb vector<bool>
#define F first
#define S second
#define lbr '\n'
#define all(x) x.begin(), x.end()
const ll INF = 1E15;

vi find_subset(int l, int u, vi w) {
    ll n = w.size();
    vector<pair<ll, ll>> a(n, {0, 0});
    for (int i=0; i<n; i++) a[i] = {w[i], i};
    sort(a.begin(), a.end());
    ll izq=0, der=0, s=a[0].F;
    while (true) {
        if (izq > der) {
            der++;
            s += a[der].F;
        }

        if (u < s) {
            s -= a[izq].F;
            izq++;
        } else if (s < l) {
            der++;
            if (der>=n) return {};
            s += a[der].F;
        }
        if (l <= s && s <= u){
            vi res;
            for (; izq <= der; izq++) res.push_back(a[izq].S);
            return res;
        }
    }
    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...