Submission #1260482

#TimeUsernameProblemLanguageResultExecution timeMemory
1260482motionDetecting Molecules (IOI16_molecules)C++20
100 / 100
34 ms3656 KiB
#include<bits/stdc++.h>
using namespace std;
vector<int> find_subset(int l,int u,vector<int> w)
{
    int n=w.size(),ind=n;
    vector<pair<int,int>> s(n);
    for(int i=0;i<n;i++)
    {
        s[i].first=w[i];
        s[i].second=i;
    }
    sort(s.begin(),s.end());
    vector<int> ans;
    long long sum=0;
    for(int i=0;i<n;i++)
    {
        if(sum+s[i].first>u)
        {
            ind=i-1;
            break;
        }
        sum+=s[i].first;
        if(sum>=l)
        {
            for(int j=0;j<=i;j++)
            {
                ans.push_back(s[j].second);
            }
            return ans;
        }
    }
    if(ind==n || ind==-1) return ans;
    for(int i=ind;i>=0;i--)
    {
        sum-=s[i].first;
        sum+=s[n-1-(ind-i)].first;
        if(sum>=l)
        {
            for(int j=0;j<i;j++)
            {
                ans.push_back(s[j].second);
            }
            for(int j=n-1;j>=n-1-(ind-i);j--)
            {
                ans.push_back(s[j].second);
            }
            return ans;
        }
    }
    return ans;
}

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