Submission #1275955

#TimeUsernameProblemLanguageResultExecution timeMemory
1275955nanaseyuzukiDetecting Molecules (IOI16_molecules)C++20
100 / 100
35 ms4132 KiB
#include <bits/stdc++.h>
// Author: Kazuki_Will_Win_VOI_8703
#define fi first
#define se second
#define pii pair<int, int>
#define ll long long
#define all(a) a.begin(), a.end()
using namespace std;

const int mn = 1e6 + 5, bm = (1 << 20) + 1;
const int inf = 1e9;

int n, a[mn], m, b[mn], sum[mn], dp[mn], ok[mn];

vector <int> find_subset(int l, int u, vector <int> w){
    int n = w.size();
    vector <pii> Megumi;
    for(int i = 0; i < n; i++) Megumi.push_back({w[i], i});
    sort(all(Megumi));
    int ptr = 0;
    ll sum = 0;
    vector <int> kq;
    for(int i = 0; i < n; i++){
        auto [c, idk] = Megumi[i];
        sum += 1ll * c;
        while(sum > u){
            sum -= 1ll * Megumi[ptr].fi;
            ptr ++;
        }
        if(sum >= l){
            for(int j = ptr; j <= i; j++){
                kq.push_back({Megumi[j].se});
            } 
            return kq;
        }
    }
    return {};
}

// signed main(){
//     ios_base::sync_with_stdio(false);
//     cin.tie(NULL);
//     cout.tie(NULL);
//     vector <int> kq = find_subset(15, 17, {6, 8, 8, 7});
//     for(auto i : kq) cout << i << ' ';
// }

Compilation message (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...