제출 #1198570

#제출 시각아이디문제언어결과실행 시간메모리
1198570Nonoze사탕 분배 (IOI21_candies)C++20
11 / 100
59 ms9032 KiB
#include "candies.h" #include <bits/stdc++.h> using namespace std; #define pb push_back #define sz(x) (int)x.size() #define fi first #define se second #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() #define cmin(a,b) a=min(a,b) #define cmax(a,b) a=max(a,b) int n, q; vector<int> distribute_candies(vector<int> c, vector<int> l, vector<int> r, vector<int> v) { n = sz(c), q=sz(l); vector<int> s(n, 0); if (n<=2000 && q<=2000) { for (int i=0; i<q; i++) { while (l[i]<=r[i]) { s[l[i]]+=v[i]; cmax(s[l[i]], 0), cmin(s[l[i]], c[l[i]]); l[i]++; } } return s; } vector<int> beg(n), end(n); for (int i=0; i<q; i++) beg[l[i]]+=v[i], end[r[i]]+=v[i]; long long sm=0; for (int i=0; i<n; i++) { sm+=beg[i]; s[i]=min(sm, (long long)c[i]); sm-=end[i]; } return s; }
#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...