Submission #436236

# Submission time Handle Problem Language Result Execution time Memory
436236 2021-06-24T10:48:37 Z Apiram Distributing Candies (IOI21_candies) C++17
8 / 100
141 ms 10476 KB
#include "candies.h"
#include<bits/stdc++.h>
using namespace std;
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<int64_t>ans(n,0);
    vector<int64_t>pref(n+1,0);
    for (int i =0;i<l.size();++i){
    	if (v[i]>=0){
    	pref[l[i]]+=v[i];
    	pref[r[i]+1]-=v[i];
    	}
    	else {
    		for(int j = 1;j<n;++j){
    			pref[j]+=pref[j-1];
    			ans[j-1]=min(pref[j-1]+ans[j-1],(int64_t)c[j-1]);
    			if (l[i]<=j-1&&r[i]>=j-1){
    				ans[j-1]=max((int64_t)min((int64_t)pref[j-1]+ans[j-1],(int64_t)c[j-1])+v[i],(int64_t)0);
    			}
    			pref[j-1]=0;
    		}
    		
    		ans[n-1]=min(pref[n-1]+ans[n-1],(int64_t)c[n-1]);
    		if (l[i]<=n-1&&r[i]>=n-1){
    				ans[n-1]=max((int64_t)min((int64_t)pref[n-1]+ans[n-1],(int64_t)c[n-1])+v[i],(int64_t)0);
    			}
    			pref[n-1]=0;
    	}
    }
    ans[0]=min((int64_t)pref[0]+ans[0],(int64_t)c[0]);
    for (int i =1;i<n;++i){

    	pref[i]+=pref[i-1];
    	ans[i]=max((int64_t)0,(int64_t)min((int64_t)(pref[i]+ans[i]),(int64_t)c[i]));
    }
    vector<int>val(n,0);
    for (int i =0;i<n;++i){
    	val[i]=ans[i];
    }
    return val;
}

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:12:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   12 |     for (int i =0;i<l.size();++i){
      |                   ~^~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 141 ms 10476 KB Output is correct
2 Correct 123 ms 10460 KB Output is correct
3 Correct 137 ms 10412 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB Output isn't correct
3 Halted 0 ms 0 KB -