제출 #1017828

#제출 시각아이디문제언어결과실행 시간메모리
1017828nickolasarapidis카니발 티켓 (IOI20_tickets)C++17
컴파일 에러
0 ms0 KiB
/* IOI 2020 Day 1 - problem 3 (tickets) Author: Nickolas Arapidis */ #include "tickets.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define F first #define S second #define make_pair MP ll calculate_score(vector<int> A){ int N = A.size(); ll sum = 0; int mid = A[N/2]; for(int i = 0; i < N; i++){ sum += abs(A[i] - mid); } return sum; } ll find_maximum(int k, vector<vector<int>> X){ ll ans = 0; int N = X.size(); // Ammount of colors int M = X[0].size(); // Ammount of tickets for each color vector<int> s(M, -1); vector<vector<int>> S(N, s); vector<int> large; vector<int> small; vector<int> A; vector<pair<int, int> > B(N, {0, 0}); for(int i = 0; i < k; i++){ large.clear(); small.clear(); A.clear(); map<int, pair<int, int> > l; map<int, pair<int, int> > s; for(int j = 0; j < N; j++){ large.push_back(X[j][(M - 1) - B[j].S]); small.push_back(X[j][0 + B[j].F]); l[large.back()] = MP(j, (M - 1) - B[j].S); s[small.back()] = MP(j, 0 + B[j].F); } sort(large.begin(), large.end()); sort(small.begin(), small.end()); for(int j = 0; j < N/2; j++){ A.push_back(small[j]); S[s[A.back()].first][s[A.back()].second] = i; } for(int j = N/2; j < N; j++){ A.push_back(large[j]); S[l[A.back()].first][l[A.back()].second] = i; } ans += calculate_score(A); } allocate_tickets(S); return ans; }

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

tickets.cpp: In function 'long long int find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:55:22: error: 'MP' was not declared in this scope; did you mean 'M'?
   55 |    l[large.back()] = MP(j, (M - 1) - B[j].S);
      |                      ^~
      |                      M