Submission #102059

#TimeUsernameProblemLanguageResultExecution timeMemory
102059daniel920712Detecting Molecules (IOI16_molecules)C++14
69 / 100
44 ms3448 KiB
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <vector>
#include "molecules.h"

using namespace std;
struct A
{
    int con;
    int where;
}all[200005];
bool F(A a,A b)
{
    return a.con<b.con;
}
vector < int > find_subset(int l, int u, vector < int > w)
{
    int N=w.size(),t=0,i;
    int x=0,y=0;
    for(i=0;i<N;i++)
    {
        all[i].con=w[i];
        all[i].where=i;
    }
    sort(all,all+N,F);
    vector < int > ans;
    for(i=0;i<N;i++)
    {
        if(all[i].con>u) break;
        t+=all[i].con;
        while(t>u)
        {
            t-=all[x++].con;
        }

        if(l<=t&&t<=u)
        {
            //printf("%d %d %d %d\n",i,t,x,y);
            for(i=x;i<=y;i++)
            {
                //printf("a:%d\n",i);
                ans.push_back(all[i].where);

            }
            return ans;
        }


        y++;
    }


    return ans;
}
#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...