Submission #102060

#TimeUsernameProblemLanguageResultExecution timeMemory
102060daniel920712Detecting Molecules (IOI16_molecules)C++14
0 / 100
3 ms384 KiB
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <vector>
#include "molecules.h"

using namespace std;
struct A
{
    long long 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(),i;
    long long t;
    long long X=(long long) l;
    long long Y=(long long) u;
    int x=0,y=0;
    for(i=0;i<N;i++)
    {
        all[i].con=(long long) 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>Y)
        {
            t-=all[x++].con;
        }

        if(X<=t&&t<=Y)
        {
            //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;
}

Compilation message (stderr)

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:35:10: warning: 't' may be used uninitialized in this function [-Wmaybe-uninitialized]
         t+=all[i].con;
         ~^~~~~~~~~~~~
#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...