제출 #436322

#제출 시각아이디문제언어결과실행 시간메모리
436322gromperen사탕 분배 (IOI21_candies)C++17
컴파일 에러
0 ms0 KiB
#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();
	int q = l.size();
	vector<int> s(n);
	vector<long long> pre(n+1);

	for (int i = 0; i < q; ++i) {
		pre[l[i]] += v;
		pre[r[i]+1] -= v;
	}
	for (int i = 0; i < n; ++i) {
		if (i > 0) pre[i] += pre[i-1];
		s[i] = max(pre[i], 1LL * c[i]);
	}
	return s;
}

컴파일 시 표준 에러 (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:13: error: no match for 'operator+=' (operand types are '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} and 'std::vector<int>')
   14 |   pre[l[i]] += v;
candies.cpp:15:15: error: no match for 'operator-=' (operand types are '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} and 'std::vector<int>')
   15 |   pre[r[i]+1] -= v;