제출 #309264

#제출 시각아이디문제언어결과실행 시간메모리
309264tjdgus4384Carnival Tickets (IOI20_tickets)C++14
11 / 100
47 ms1792 KiB
#include<bits/stdc++.h> #include "tickets.h" using namespace std; bool cmp(pair<deque<pair<int, int> >, int> a, pair<deque<pair<int, int> >, int> b){ for(int i = 0;i < a.first.size();i++){ if(a.first[i].first > b.first[i].first) return false; if(a.first[i].first < b.first[i].first) return true; } return true; } long long find_maximum(int k, vector<vector<int> > x){ vector<pair<deque<pair<int, int> >, int> > v(x.size()); for(int i = 0;i < x.size();i++){ for(int j = 0;j < x[i].size();j++){ v[i].first.push_back({x[i][j], j}); } sort(v[i].first.begin(), v[i].first.end()); v[i].second = i; } vector<vector<int> > s(x.size()); for(int i = 0;i < s.size();i++) s[i].resize(x[0].size(), -1); long long ret = 0; for(int k1 = 0;k1 < k;k1++){ sort(v.begin(), v.end(), cmp); for(int i = 0;i < x.size()/2;i++){ s[v[i].second][v[i].first[0].second] = k1; ret -= v[i].first[0].first; v[i].first.pop_front(); } for(int i = x.size()/2;i < x.size();i++){ s[v[i].second][v[i].first.back().second] = k1; ret += v[i].first.back().first; v[i].first.pop_back(); } } allocate_tickets(s); return ret; }

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

tickets.cpp: In function 'bool cmp(std::pair<std::deque<std::pair<int, int> >, int>, std::pair<std::deque<std::pair<int, int> >, int>)':
tickets.cpp:6:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    6 |     for(int i = 0;i < a.first.size();i++){
      |                   ~~^~~~~~~~~~~~~~~~
tickets.cpp: In function 'long long int find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:15:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     for(int i = 0;i < x.size();i++){
      |                   ~~^~~~~~~~~~
tickets.cpp:16:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |         for(int j = 0;j < x[i].size();j++){
      |                       ~~^~~~~~~~~~~~~
tickets.cpp:23:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |     for(int i = 0;i < s.size();i++) s[i].resize(x[0].size(), -1);
      |                   ~~^~~~~~~~~~
tickets.cpp:27:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |         for(int i = 0;i < x.size()/2;i++){
      |                       ~~^~~~~~~~~~~~
tickets.cpp:32:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |         for(int i = x.size()/2;i < x.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...