Submission #894787

#TimeUsernameProblemLanguageResultExecution timeMemory
894787Faisal_SaqibDistributing Candies (IOI21_candies)C++17
0 / 100
95 ms13804 KiB
#include <vector>
#include <set>
#include <queue>
#include <algorithm>
using namespace std;
std::vector<int> distribute_candies(std::vector<int> c, std::vector<int> l,std::vector<int> r, std::vector<int> v)
{
    int n=c.size();
    int q=l.size();
    int mi=0;
    for(auto i:v)
        mi=min(mi,i);
    vector<int> ans(n);
    deque<pair<int,int>> cp;
    for(int i=0;i<n;i++)
        cp.push_back({c[i],i});   
    sort(begin(cp),end(cp));
    if(mi>=0)
    {
        int mis=0;
        for(int j=0;j<q;j++)
        {
            mis+=v[j];
            while(cp.size()>0 and (cp.front().first<=(mis)))
            {
                ans[cp.front().second]=c[cp.front().second];
                cp.pop_front();
            }
        }
        while(cp.size()>0)
        {
            ans[cp.front().second]=mis;
            cp.pop_front();
        }
    }
    // else if(sp.size()==1)
    // {

    // }
    else
    {

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