# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1243785 | somefolk | 사탕 분배 (IOI21_candies) | C++20 | 0 ms | 0 KiB |
#include <iostream>
#include <cmath>
#include <algorithm>
#include <string>
#include <vector>
#include <map>
#include <unordered_map>
#include <queue>
#include <set>
#include <unordered_set>
#include <complex>
#include <list>
#include <cassert>
#include <chrono>
#include <random>
#include <stack>
#include <iomanip>
#include <fstream>
using namespace std;
#define endl "\n"
#define int long long
const int INF = 1e9+7;
const int MOD = 1e9+7;
vector<int> distribute_candies(vector<int> a, vector<int> l, vector<int> r, vector<int> v){
int n = (int)a.size(), q = (int)l.size();
vector<int> sol(n, 0);
for(int i = 0; i < q; i++){
for(int j = l[i]; j <= r[i]; j++){
if(v[i] > 0) sol[j] = min(sol[j]+v[i], a[j]);
else sol[j] = max(0LL, sol[j]+v[i]);
}
}
return sol;
}