Submission #813019

#TimeUsernameProblemLanguageResultExecution timeMemory
813019rumbinDistributing Candies (IOI21_candies)C++17
0 / 100
139 ms10492 KiB
#include "candies.h" #include <vector> #include <iostream> std::vector<int> st(8e5+1,0); void upd(int cur, int l, int r, int a, int b, int v) { if(b<l || a>r) return; if(l<=a&&r>=b) { st[cur]+=v; return; } int mid=(a+b)/2; st[2*cur]=st[2*cur+1]=st[cur]; st[cur]=0; upd(2*cur,l,r,a,mid,v); upd(2*cur+1,l,r,mid+1,b,v); } void prop(int cur, int a, int b, std::vector<int>& l) { if(a==b) { l[a]+=st[cur]; return; } st[2*cur]+=st[cur]; st[2*cur+1]+=st[cur]; st[cur]=0; int mid=(a+b)/2; prop(2*cur,a,mid,l); prop(2*cur+1,mid+1,b,l); } 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(); std::vector s(c); for(int i=0;i<v.size();i++) upd(1,l[i],r[i],0,n-1,v[i]); prop(1,0,n-1,s); return s; }

Compilation message (stderr)

candies.cpp: In function 'std::vector<int> distribute_candies(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
candies.cpp:43:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |  for(int i=0;i<v.size();i++)
      |              ~^~~~~~~~~
#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...