Submission #1197531

#TimeUsernameProblemLanguageResultExecution timeMemory
1197531vivkostovDetecting Molecules (IOI16_molecules)C++20
0 / 100
0 ms328 KiB
#include "molecules.h"
#include <bits/stdc++.h>
using namespace std;
long long int n,l,r;
vector<int>v;
struct cell
{
    int st,ind;
};
bool cmp(cell a1,cell a2)
{
    return a1.st<a2.st;
}
cell a[200005];
std::vector<int> find_subset(int L, int R, std::vector<int> W)
{
    n=W.size();
    l=L;
    r=R;
    long long int sum=0;
    for(int i=1;i<=n;i++)
    {
        a[i].st=W[i-1];
        sum+=a[i].st;
        a[i].ind=i;
    }
    if(sum<r)return v;
    sort(a+1,a+n+1,cmp);
    for(int i=n;i>=1;i--)
    {
        while(i>0&&r-a[i].st<a[1].st)
        {
            if(r-a[i].st>=0&&l-a[i].st<=0)
            {
                v.push_back(a[i].ind);
                r-=a[i].st;
                l-=a[i].st;
                i=0;
                break;
            }
            i--;
        }
        if(i==0)break;
        v.push_back(a[i].ind);
        r-=a[i].st;
        l-=a[i].st;
    }
    if(l<=0&&r>=0)return v;
    v.clear();
    return v;
}

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