답안 #437685

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
437685 2021-06-26T21:17:42 Z ymm 사탕 분배 (IOI21_candies) C++17
38 / 100
5000 ms 13368 KB
///
///    "Excuse me... What did you say about my hair?!"
///
///                                    -Josuke Higashikata

#define _USE_MATH_DEFINES
#define FAST ios::sync_with_stdio(false),cin.tie(0);
#include <bits/stdc++.h>
#define Loop(x, l, r) for(int x = (l); x < (r); ++x)
#define LoopR(x, l, r) for(int x = (r)-1; x >= (l); --x)
#define all(x) x.begin(), x.end()
#define Kill(x) exit((cout << (x) << '\n', 0))
#define YN(flag) ((flag)? "YES": "NO")
#define F first
#define S second
typedef          long long   ll;
typedef unsigned long long  ull;
typedef std::pair<int,int>  pii;
typedef std::pair<ll ,ll >  pll;
using namespace std;

#pragma GCC optimize("O3", "unroll-loops")
#pragma GCC target("avx")
typedef vector<int> vec;

const int N = 200'010;
int a[N], c[N], l[N], r[N], v[N];
int n, q;

vec distribute_candies(vec cc, vec ll, vec rr, vec vv)
{
    n = cc.size();
    q = ll.size();
    Loop(i,0,n) c[i] = cc[i];
    Loop(i,0,q) l[i] = ll[i], r[i] = rr[i], v[i] = vv[i];
    Loop(i,0,q)
    {
        int v = ::v[i], l = ::l[i], r = ::r[i];
        if(v <= 0)
            for(int j = l; j <= r; ++j)
                a[j] = a[j]+v<0?0:a[j]+v;
        else
            for(int j = l; j <= r; ++j)
                a[j] = a[j]+v>c[j]?c[j]:a[j]+v;
    }
    vec ans(n);
    Loop(i,0,n) ans[i] = a[i];
    return ans;
}

/*int main()
{
    //auto ans = distribute_candies({10, 15, 13}, {0, 0}, {2, 1}, {20, -11});
    //for(int x : ans) cout << x << ' ';
    vec c(200000, 1e9);
    vec l(200000, 0);
    vec r(200000, 199999);
    vec v(200000, 12);
    distribute_candies(c,l,r,v);
}*/
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 300 KB Output is correct
3 Correct 1 ms 332 KB Output is correct
4 Correct 1 ms 312 KB Output is correct
5 Correct 2 ms 460 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3239 ms 11836 KB Output is correct
2 Correct 3159 ms 11588 KB Output is correct
3 Correct 3201 ms 11508 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 94 ms 7692 KB Output is correct
3 Correct 91 ms 5664 KB Output is correct
4 Correct 3118 ms 13368 KB Output is correct
5 Correct 3080 ms 12204 KB Output is correct
6 Correct 3097 ms 12308 KB Output is correct
7 Correct 3073 ms 12304 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 304 KB Output is correct
3 Correct 128 ms 7528 KB Output is correct
4 Correct 131 ms 4520 KB Output is correct
5 Execution timed out 5044 ms 10688 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 300 KB Output is correct
3 Correct 1 ms 332 KB Output is correct
4 Correct 1 ms 312 KB Output is correct
5 Correct 2 ms 460 KB Output is correct
6 Correct 3239 ms 11836 KB Output is correct
7 Correct 3159 ms 11588 KB Output is correct
8 Correct 3201 ms 11508 KB Output is correct
9 Correct 1 ms 332 KB Output is correct
10 Correct 94 ms 7692 KB Output is correct
11 Correct 91 ms 5664 KB Output is correct
12 Correct 3118 ms 13368 KB Output is correct
13 Correct 3080 ms 12204 KB Output is correct
14 Correct 3097 ms 12308 KB Output is correct
15 Correct 3073 ms 12304 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 1 ms 304 KB Output is correct
18 Correct 128 ms 7528 KB Output is correct
19 Correct 131 ms 4520 KB Output is correct
20 Execution timed out 5044 ms 10688 KB Time limit exceeded
21 Halted 0 ms 0 KB -