제출 #616044

#제출 시각아이디문제언어결과실행 시간메모리
616044yanndev카니발 티켓 (IOI20_tickets)C++17
컴파일 에러
0 ms0 KiB
#include "tickets.h"
#include <bits/stdc++.h>
#define ll long long
#define fi first
#define se second
using namespace std;

ll find_maximum(int k, vector<vector<int>> x) {
	int n = x.size();
	int m = x[0].size();

	if (m == 1) {
		vector<vector<int>> answer;
		vector<int> vals {};
		ll score = 0;
		for (int i = 0; i < n; i++) {
			vector<int> row (m);
			for (int j = 0; j < m; j++) {
				vals.push_back(x[i][j]);
				if (j < k) {
					row[j] = j;
				} else {
					row[j] = -1;
				}
			}
			
			answer.push_back(row);
		}

		sort(vals.begin(), vals.end());
		for (auto& x: vals)
			score += (ll)abs(x - vals[n / 2]);
		allocate_tickets(answer);
		return score;
	}

	if (k == 1) {
		vector<vector<int>> ans (n, vector<int> (m, -1));
		vector<pair<int, int>> poss (n);
		vector<pair<int, int>> op {};

		int score = 0; 
		for (int i = 0; i < n; i++) {
			poss[i] = {x[i][0], x[i][m - 1]};
			ans[i][m - 1] = 1;
			score += x[i][m - 1];
			op.push_back({-(x[i][m - 1] + x[i][0]), i})
		}

		sort(op.begin(), op.end());

		for (int i = 0; i < n / 2; i++) {
			score += op[i].fi;
			poss[op[i].se][m - 1] = -1;
			poss[op[i].se][0] = 1;
		}

		allocate_tickets(ans);
		return score;
	}

	return 0;
}

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

tickets.cpp: In function 'long long int find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:47:47: error: expected ';' before '}' token
   47 |    op.push_back({-(x[i][m - 1] + x[i][0]), i})
      |                                               ^
      |                                               ;
   48 |   }
      |   ~                                            
tickets.cpp:54:18: error: no match for 'operator[]' (operand types are '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'} and 'int')
   54 |    poss[op[i].se][m - 1] = -1;
      |                  ^
tickets.cpp:55:18: error: no match for 'operator[]' (operand types are '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'} and 'int')
   55 |    poss[op[i].se][0] = 1;
      |                  ^