Submission #530213

# Submission time Handle Problem Language Result Execution time Memory
530213 2022-02-24T19:47:43 Z Icebear16 Distributing Candies (IOI21_candies) C++17
Compilation error
0 ms 0 KB
#include "candies.h"
#include <vector>

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();
    int q=l.size();
    std::vector<int> s(n,0);
    bool flag=true;
    for(int i=0;i<q;i++){
    	if(v[i]<0){
    		flag=false;
    		break;
		}
	}
	if(flag==false){
		for(int j=0;j<q;j++){
			for(int i=l[j];i<=r[j];i++){
				if(v[j]>=0){
					s[i]=max(c[i],s[i]+v[j]);
				}else{
					s[i]=max(c[i],s[i]+v[j]);
				}
			}
		}
	}else{
		s.push_back(0);
		for(int j=0;j<q;j++){
			s[l[j]]+=v[j];
			s[r[j+1]]-=v[j];
		}
		for(int i=1;i<=n;i++){
			s[i]+=s[i-1];
		}
		reverse(s.begin(),s.end());
		s.pop_back();
		reverse(s.begin(),s.end());
	}
    return s;
}

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:19:11: error: 'max' was not declared in this scope; did you mean 'std::max'?
   19 |      s[i]=max(c[i],s[i]+v[j]);
      |           ^~~
      |           std::max
In file included from /usr/include/c++/10/vector:60,
                 from candies.h:1,
                 from candies.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: 'std::max' declared here
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
candies.cpp:21:11: error: 'max' was not declared in this scope; did you mean 'std::max'?
   21 |      s[i]=max(c[i],s[i]+v[j]);
      |           ^~~
      |           std::max
In file included from /usr/include/c++/10/vector:60,
                 from candies.h:1,
                 from candies.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: 'std::max' declared here
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
candies.cpp:34:3: error: 'reverse' was not declared in this scope
   34 |   reverse(s.begin(),s.end());
      |   ^~~~~~~