# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
495598 | 2021-12-19T12:22:26 Z | Half | 사탕 분배 (IOI21_candies) | C++17 | 105 ms | 12956 KB |
#include "candies.h" #include <bits/stdc++.h> using namespace std; typedef long long int ll; typedef unsigned long long int ull; typedef long double ld; #define REP(i,a,b) for(ll i=(ll) a; i<(ll) b; i++) #define pb push_back #define mp make_pair #define pl pair<ll,ll> #define ff first #define ss second #define whole(x) x.begin(),x.end() #define DEBUG(i) cout<<"DEBUG "<<i<<endl #define INF 500000000LL #define EPS 0.00000001 #define pi 3.14159 ll mod=1000000007LL; 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<int> s(n); int q = l.size(); if(n*q<=100000000){ for(int i = 0; i < n; i++){ ll nc = 0; for(int j = 0; j < q; j++){ if(l[j] <= i && i <= r[j]){ nc = max(0LL, min((ll)c[i], nc + (ll)v[j])); } } s[i] = nc; } return s; } bool t = true; for(int i = 0; i < q; i++){ t = t && (v[i] > 0); } if(t){ ll stp[n+1]; memset(stp, 0, sizeof stp); for(int i = 0; i < q; i++){ stp[l[i]] += v[i]; stp[r[i]+1] -= v[i]; } ll sm = 0; for(int i = 0; i < n; i++){ sm += stp[i]; s[i] = min((ll)c[i], sm); } return s; } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Correct | 1 ms | 332 KB | Output is correct |
4 | Correct | 1 ms | 332 KB | Output is correct |
5 | Correct | 11 ms | 360 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 94 ms | 8796 KB | Output is correct |
2 | Correct | 105 ms | 12956 KB | Output is correct |
3 | Correct | 94 ms | 12824 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | Output is correct |
2 | Incorrect | 49 ms | 4948 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Incorrect | 49 ms | 4956 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 204 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Correct | 1 ms | 332 KB | Output is correct |
4 | Correct | 1 ms | 332 KB | Output is correct |
5 | Correct | 11 ms | 360 KB | Output is correct |
6 | Correct | 94 ms | 8796 KB | Output is correct |
7 | Correct | 105 ms | 12956 KB | Output is correct |
8 | Correct | 94 ms | 12824 KB | Output is correct |
9 | Correct | 1 ms | 204 KB | Output is correct |
10 | Incorrect | 49 ms | 4948 KB | Output isn't correct |
11 | Halted | 0 ms | 0 KB | - |