Submission #598547

#TimeUsernameProblemLanguageResultExecution timeMemory
598547definitelynotmeeDistributing Candies (IOI21_candies)C++17
11 / 100
465 ms13652 KiB
#include "candies.h"
#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define all(x) x.begin(), x.end()
using ll = long long;
using pii = pair<int,int>;
using pll = pair<ll,ll>;
template<typename t>
using matrix = vector<vector<t>>;

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();
    vector<int> s(n);
    if(n <= 2000){

        for(int i = 0; i < l.size(); i++){
            for(int j = l[i]; j <= r[i]; j++){
                s[j]+=v[i];
                s[j]= min(c[j],s[j]);
                s[j] = max(0,s[j]);
            }
        }
    } else {
        vector<ll> delta(n+1);
        for(int i = 0; i < l.size(); i++){
            delta[l[i]]+=v[i];
            delta[r[i]+1]-=v[i];
        }
        ll cur = 0;
        for(int i = 0; i < n; i++){
            cur+=delta[i];
            s[i] = min(ll(c[i]),cur);
        }
    }

    return s;
}

Compilation message (stderr)

candies.cpp: In function 'std::vector<int> distribute_candies(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
candies.cpp:19:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |         for(int i = 0; i < l.size(); i++){
      |                        ~~^~~~~~~~~~
candies.cpp:28:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |         for(int i = 0; i < l.size(); i++){
      |                        ~~^~~~~~~~~~
#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...