Submission #1068365

#TimeUsernameProblemLanguageResultExecution timeMemory
1068365andrei_iorgulescuDetecting Molecules (IOI16_molecules)C++14
100 / 100
46 ms7364 KiB
#include <bits/stdc++.h>
#include "molecules.h"
#warning That's not FB, that's my FB

using namespace std;

using ll = long long;

vector<int> find_subset(int l, int u, vector<int> w)
{
    vector<pair<int,int>> v;
    for (int i = 0; i < w.size(); i++)
        v.push_back({w[i],i});
    v.push_back({0,0});
    sort(v.begin(),v.end());
    int n = v.size() - 1;
    vector<ll> sp(n + 1);
    for (int i = 1; i <= n; i++)
        sp[i] = sp[i - 1] + v[i].first;
    for (int i = 1; i <= n; i++)
    {
        if (sp[i] > u or sp[n] - sp[n - i] < l)
            continue;
        for (int st = 1; st <= n - i + 1; st++)
        {
            if (sp[st + i - 1] - sp[st - 1] >= l and sp[st + i - 1] - sp[st - 1] <= u)
            {
                vector<int> ans;
                for (int j = st; j < st + i; j++)
                    ans.push_back(v[j].second);
                return ans;
            }
        }
    }
    return {};
}

Compilation message (stderr)

molecules.cpp:3:2: warning: #warning That's not FB, that's my FB [-Wcpp]
    3 | #warning That's not FB, that's my FB
      |  ^~~~~~~
molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:12:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   12 |     for (int i = 0; i < w.size(); i++)
      |                     ~~^~~~~~~~~~
#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...