Submission #477616

# Submission time Handle Problem Language Result Execution time Memory
477616 2021-10-02T20:55:37 Z ymm Distributing Candies (IOI21_candies) C++17
38 / 100
5000 ms 18028 KB
///
///   Oh? You're approaching me?
///

#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;
const int S = 4096;
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];
    for(int ml = 0; ml < n; ml += S)
    {
            int mr = min(ml+S, n);
            Loop(i,0,q)
            {
                int v = ::v[i], l = max(ml, ::l[i]), r = min(mr-1, ::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;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 336 KB Output is correct
5 Correct 2 ms 464 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2117 ms 16108 KB Output is correct
2 Correct 2179 ms 15384 KB Output is correct
3 Correct 2141 ms 15220 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 308 KB Output is correct
2 Correct 87 ms 10336 KB Output is correct
3 Correct 71 ms 7592 KB Output is correct
4 Correct 1887 ms 17276 KB Output is correct
5 Correct 1860 ms 17464 KB Output is correct
6 Correct 1873 ms 18028 KB Output is correct
7 Correct 1889 ms 17336 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 1 ms 336 KB Output is correct
3 Correct 119 ms 9944 KB Output is correct
4 Correct 94 ms 5504 KB Output is correct
5 Execution timed out 5038 ms 14880 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 208 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 336 KB Output is correct
5 Correct 2 ms 464 KB Output is correct
6 Correct 2117 ms 16108 KB Output is correct
7 Correct 2179 ms 15384 KB Output is correct
8 Correct 2141 ms 15220 KB Output is correct
9 Correct 1 ms 308 KB Output is correct
10 Correct 87 ms 10336 KB Output is correct
11 Correct 71 ms 7592 KB Output is correct
12 Correct 1887 ms 17276 KB Output is correct
13 Correct 1860 ms 17464 KB Output is correct
14 Correct 1873 ms 18028 KB Output is correct
15 Correct 1889 ms 17336 KB Output is correct
16 Correct 1 ms 208 KB Output is correct
17 Correct 1 ms 336 KB Output is correct
18 Correct 119 ms 9944 KB Output is correct
19 Correct 94 ms 5504 KB Output is correct
20 Execution timed out 5038 ms 14880 KB Time limit exceeded
21 Halted 0 ms 0 KB -