Submission #522699

#TimeUsernameProblemLanguageResultExecution timeMemory
522699InternetPerson10Distributing Candies (IOI21_candies)C++17
8 / 100
105 ms15060 KiB
#include "candies.h" #include <vector> using namespace std; typedef long long ll; vector<int> distribute_candies(vector<int> cInt, vector<int> lInt, vector<int> rInt, vector<int> vInt) { int n = cInt.size(); vector<ll> s(n+1), c(n), l(n), r(n), v(vInt.size()); for(int i = 0; i < n; i++) { l[i] = lInt[i]; r[i] = rInt[i]; c[i] = cInt[i]; } for(int i = 0; i < v.size(); i++) { v[i] = vInt[i]; } bool subtask2 = true, subtask3 = true, subtask4 = true; for(int i = 0; i < n; i++) { if(v[i] < 0) subtask2 = false; if(i > 0 && c[i] != c[i-1]) subtask3 = false; if(r[i] - l[i] != n-1) subtask4 = false; } int q = v.size(); if(n <= 2000 && q <= 2000) { // Subtask 1 for(int i = 0; i < q; i++) { for(int j = l[i]; j <= r[i]; j++) { s[j] += v[i]; s[j] = max(s[j], 0LL); s[j] = min(s[j], c[j]); } } } else if(subtask2) { for(int i = 0; i < q; i++) { s[l[i]] += v[i]; s[r[i]+1] -= v[i]; } for(int i = 1; i < n; i++) { s[i] += s[i-1]; } for(int i = 0; i < n; i++) { s[i] = min(s[i], c[i]); } } else if(subtask3) { } else if(subtask4) { } else { } vector<int> sInt(n); for(int i = 0; i < n; i++) sInt[i] = s[i]; return sInt; }

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:15:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     for(int i = 0; i < v.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...