제출 #1198569

#제출 시각아이디문제언어결과실행 시간메모리
1198569Nonoze사탕 분배 (IOI21_candies)C++20
3 / 100
62 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+1); for (int i=0; i<q; i++) beg[l[i]]+=v[i], end[r[i]+1]+=v[i]; int sm=0; for (int i=0; i<n; i++) { sm+=beg[i]-end[i]; s[i]=min(sm, c[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...