Submission #835342

#TimeUsernameProblemLanguageResultExecution timeMemory
835342azategaDistributing Candies (IOI21_candies)C++17
3 / 100
1612 ms7268 KiB
#include "candies.h"
#include <vector>

using namespace std;


vector<int> distribute_candies(vector<int> c, vector<int> l,
                                    vector<int> r, vector<int> v) {
    int n = c.size();
    vector<int> s(n);

    if(n <= 2000){
        for(int i = 0; i < n; i++){
            for(int j = 0; j < v.size(); j++){
                if(i >= l[j] && i <= r[j]){
                    s[i] += v[j];
                    s[i] = max(s[i], 0);
                    s[i] = min(s[i], c[i]);
                }
            }
        }

    }else{
        for(int j = 0; j < v.size(); j++){
            s[l[j]] += v[j];
            if(r[j] + 1 < n)
                s[r[j] + 1] -= v[j];
        }

        int curr = 0;
        for(int i = 0; i < n; i++){
            curr += s[i];
            s[i] = min(c[i], curr);
        }
    }

    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:14:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |             for(int j = 0; j < v.size(); j++){
      |                            ~~^~~~~~~~~~
candies.cpp:24:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |         for(int j = 0; j < v.size(); j++){
      |                        ~~^~~~~~~~~~
#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...