답안 #435747

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
435747 2021-06-23T16:40:11 Z illyakr 사탕 분배 (IOI21_candies) C++17
11 / 100
128 ms 9708 KB
#include <bits/stdc++.h>
#include "candies.h"
using namespace std;
#define ll long long

vector<int> res;
int n, q;
bool scbl = true;
ll _res[201010];
std::vector<int> distribute_candies(std::vector<int> c, std::vector<int> l,
                                    std::vector<int> r, std::vector<int> v) {
    n = c.size(); q = v.size();
    res.resize(n, 0);
    for (int i = 0; i < q; i++)
        if (v[i] < 0){scbl = false;break;}

    if (n * q <= 100000000) {
        for (int i = 0; i < q; i++) {
            for (int j = l[i]; j <= r[i]; j++) {
                res[j] += v[i];
                if (res[j] < 0)res[j] = 0;
                else if (res[j] > c[j])res[j] = c[j];
            }
        }
        return res;
    }
    if (scbl) {
        for (int i = 0; i < q; i++) {
            _res[l[i]] += v[i];
            _res[r[i] + 1] -= v[i];
        }
        for (int i = 1; i < n; i++)
            _res[i] += _res[i - 1];
        for (int i = 0; i < n; i++) {
            _res[i] = min(_res[i], (ll)c[i]);
            res[i] = _res[i];
        }
        return res;
    }
}

/**
3
10 15 13
2
0 2 20
0 1 -11


0 4 13
*/

Compilation message

candies.cpp: In function 'std::vector<int> distribute_candies(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
candies.cpp:40:1: warning: control reaches end of non-void function [-Wreturn-type]
   40 | }
      | ^
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 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 7 ms 372 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 128 ms 9656 KB Output is correct
2 Correct 124 ms 9708 KB Output is correct
3 Correct 119 ms 9696 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 59 ms 4956 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Incorrect 60 ms 4972 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 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 7 ms 372 KB Output is correct
6 Correct 128 ms 9656 KB Output is correct
7 Correct 124 ms 9708 KB Output is correct
8 Correct 119 ms 9696 KB Output is correct
9 Correct 1 ms 204 KB Output is correct
10 Incorrect 59 ms 4956 KB Output isn't correct
11 Halted 0 ms 0 KB -