제출 #700185

#제출 시각아이디문제언어결과실행 시간메모리
700185n1kCatfish Farm (IOI22_fish)C++17
0 / 100
1090 ms55276 KiB
#include <bits/stdc++.h>
#include "fish.h"

#define ll long long
#define vt vector
#define pb push_back
#define ar array
#define all(x) (x).begin(), (x).end()
#define sz(x) (x).size()

using namespace std;

/*
 1. simplify
 2. add new elements
 3. brute force solution
 4. optimize
*/

// --- templates ---

// --- code ---

ll max_weights(int n, int m, vt<int> X, vt<int> Y, vt<int> W){
	int h = 2;

	vt<vt<ll>> a(n, vt<ll>(h));
	for(int i = 0; i < m; i++){
		a[X[i]][1] = W[i];
	}

	auto f = [](auto l, auto i, auto j) -> ll {
		if(i < 0 || j < 0) return 0;
		return l[i][j];
	};

	auto get = [](auto l, auto i) -> ll {
		if(i < 0 || i >= l.size()) return 0;
		return l[i][1];
	};

	vt<vt<ll>> dp(n, vt<ll>(h));

	for(int i = 0; i < n; i++){
		dp[i][0] = max(f(dp, i - 1, 0), f(dp, i - 1, 1));

		dp[i][1] = max({
			f(dp, i - 2, 0) + get(a, i - 1) + get(a, i + 1),
			f(dp, i - 2, 1) + get(a, i + 1),
			f(dp, i - 1, 1) + get(a, i + 1) - get(a, i)
		});
	}

	return max(dp[n - 1][0], dp[n - 1][1]);
}

컴파일 시 표준 에러 (stderr) 메시지

fish.cpp: In instantiation of 'max_weights(int, int, std::vector<int>, std::vector<int>, std::vector<int>)::<lambda(auto:26, auto:27)> [with auto:26 = std::vector<std::vector<long long int> >; auto:27 = int]':
fish.cpp:48:34:   required from here
fish.cpp:38:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |   if(i < 0 || i >= l.size()) return 0;
      |               ~~^~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...