제출 #958526

#제출 시각아이디문제언어결과실행 시간메모리
958526horiseun메기 농장 (IOI22_fish)C++17
0 / 100
56 ms5352 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include "fish.h"
using namespace std;

#define ll long long

ll max_weights(int N, int M, vector<int> X, vector<int> Y, vector<int> W) {
	ll ans = 0;
	vector<int> col0, col1;
	for (int i = 0; i < M; i++) {
		if (X[i]) col1.push_back(i);
		else col0.push_back(i);
	}
	sort(col0.begin(), col0.end(), [&] (int x, int y) {
		return Y[x] < Y[y];
	});
	sort(col1.begin(), col1.end(), [&] (int x, int y) {
		return Y[x] > Y[y];
	});
	reverse(col0.begin(), col0.end());
	col0.push_back(-1);
	reverse(col0.begin(), col0.end());
	vector<int> pref(col0.size() + 1, 0);
	for (int i = 1; i < col0.size(); i++) {
		pref[i] = pref[i - 1] + W[col0[i]];
		col0[i] = Y[col0[i]];
	}
	ans = pref.back();
	ll tmp = 0;
	for (int i = 0; i < col1.size(); i++) {
		int idx = lower_bound(col0.begin(), col0.end(), Y[col1[i]]) - col0.begin();
		tmp += W[col1[i]];
		if (idx == 0) continue;
		idx--;
		ans = max(ans, pref[idx] + tmp);
	}
	return ans;
}

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

fish.cpp: In function 'long long int max_weights(int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
fish.cpp:26:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |  for (int i = 1; i < col0.size(); i++) {
      |                  ~~^~~~~~~~~~~~~
fish.cpp:32:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |  for (int i = 0; i < col1.size(); i++) {
      |                  ~~^~~~~~~~~~~~~
#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...