Submission #1165066

#TimeUsernameProblemLanguageResultExecution timeMemory
1165066chikien2009Detecting Molecules (IOI16_molecules)C++20
100 / 100
34 ms4164 KiB
#include <bits/stdc++.h>
#include "molecules.h"

using namespace std;

// inline void setup()
// {
// #ifndef ONLINE_JUDGE
//     freopen("test.inp", "r", stdin);
//     freopen("test.out", "w", stdout);
// #endif
//     ios_base::sync_with_stdio(0);
//     cin.tie(0);
//     cout.tie(0);
// }

vector<int> find_subset(int l, int u, vector<int> w)
{
    queue<int> q;
    vector<int> res;
    vector<pair<int, int>> p(w.size());
    long long sum = 0;

    for (int i = 0; i < w.size(); ++i)
    {
        p[i].first = w[i];
        p[i].second = i;
    }
    sort(p.begin(), p.end());
    for (int i = 0; i < w.size(); ++i)
    {
        sum += p[i].first;
        q.push(p[i].second);
        if (sum > u)
        {
            sum -= w[q.front()];
            q.pop();
        }
        if (l <= sum && sum <= u)
        {
            while (!q.empty())
            {
                res.push_back(q.front());
                q.pop();
            }
            break;
        }
    }
    sort(res.begin(), res.end());
    return res;
}

// int main()
// {
//     setup();

//     int n, u, l;
//     vector<int> v;
//     cin >> n >> l >> u;
//     v.resize(n);
//     for (int i = 0; i < n; ++i)
//     {
//         cin >> v[i];
//     }
//     v = find_subset(l, u, v);
//     for (auto &i : v)
//     {
//         cout << i << " ";
//     }
//     return 0;
// }

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...