이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include"candies.h"
#include<iostream>
#include<vector>
using namespace std;
typedef long long ll;
int n,days;
vector<int>vec;
void tree_init(){
vec.resize(days);
}
void tree_add(int pos,int val){
//for(int i=pos;i<days;i++)
vec[pos]+=val;
}
int tree_get(int bound){
int curr=0;
for(int i=0;i<days;i++){
curr+=vec[i];
curr=max(0,min(bound,curr));
}
return curr;
}
vector<int>distribute_candies(vector<int>c,vector<int>l,vector<int>r,vector<int>v){
n=(int)c.size();
days=(int)v.size();
vector<vector<pair<int,int>>>events;
events.resize(n+1);
for(int i=0;i<days;i++){
events[l[i]].push_back({i,v[i]});
events[r[i]+1].push_back({i,-v[i]});
}
vector<int>s(n);
tree_init();
for(int i=0;i<n;i++){
for(auto event:events[i])
tree_add(event.first,event.second);
s[i]=tree_get(c[i]);
}
return s;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |