Submission #1238837

#TimeUsernameProblemLanguageResultExecution timeMemory
1238837nickolasarapidisCatfish Farm (IOI22_fish)C++20
3 / 100
54 ms10824 KiB
#include "fish.h"
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define F first
#define S second

ll solve1(int N, int M, vector<int> X, vector<int> Y, vector<int> W){
	ll ans = 0;
	for(int i = 0; i < M; i++){
		ans += W[i];
	}
	return ans;
}

ll solve2(int N, int M, vector<int> X, vector<int> Y, vector<int> W){
	ll sum1 = 0, sum2 = 0;
	vector<int> a0(N, 0), a1(N, 0), x0(N), x1(N);
	for(int i = 0; i < M; i++){
		if(X[i] == 0){
			sum1 += W[i];
			a0[Y[i]] = W[i];
		}
		else if(X[i] == 1){
			sum2 += W[i];
			a1[Y[i]] = W[i];
		}
	}
	x0[0] = a0[0];
	x1[0] = a1[0];
	for(int i = 1; i < N; i++){
		x0[i] = x0[i - 1] + a0[i];
		x1[i] = x1[i - 1] + a1[i];
	}
	int k = -1;
	for(int i = 0; i < N; i++){
		if(x0[i] > x1[i]) k = i;
	}
	if(k == 1) return sum2;
	else{
		return x0[k] + (sum2 - x1[k]);
	}
}

ll solve3(int N, int M, vector<int> X, vector<int> Y, vector<int> W){
	return 0;
}

ll solve4(int N, int M, vector<int> X, vector<int> Y, vector<int> W){
	return 0;
}

ll solve5(int N, int M, vector<int> X, vector<int> Y, vector<int> W){
	return 0;
}

ll max_weights(int N, int M, vector<int> X, vector<int> Y, vector<int> W){
	bool b1 = true, b2 = true, b3 = true, b4 = true, b5 = true;
	for(int i = 0; i < M; i++){
		if(X[i]%2 != 0) b1 = false;
		if(X[i] > 1) b2 = false;
		if(Y[i] != 0) b3 = false;
	}
	if(b1) return solve1(N, M, X, Y, W);
	if(b2) return solve2(N, M, X, Y, W);
	if(b3) return solve3(N, M, X, Y, W);
	if(b4) return solve4(N, M, X, Y, W);
	if(b5) return solve5(N, M, X, Y, W);
	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...