제출 #540778

#제출 시각아이디문제언어결과실행 시간메모리
540778AlperenTAkcija (COCI21_akcija)C++17
10 / 110
3 ms600 KiB
#include <bits/stdc++.h>

using namespace std;

const int N = 2000 + 5;

int n, k;

pair<int, int> arr[N];

struct Item{
    int k;
    long long c;

    bool operator < (const Item &sc) const{
        if(k == sc.k) return c < sc.c;
        else return k > sc.k;
    }
};

vector<Item> v;

int main(){
    ios_base::sync_with_stdio(false);cin.tie(NULL);

    cin >> n >> k;

    for(int i = 1; i <= n; i++) cin >> arr[i].second >> arr[i].first;

    sort(arr + 1, arr + n + 1);

    for(int i = 1; i <= n; i++){
        int tmp = v.size();

        for(int j = 0; j < tmp; j++){
            if(v[j].k < arr[i].first) v.push_back({v[j].k + 1, v[j].c + arr[i].second});
        }

        v.push_back({1, arr[i].second});

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

        while(v.size() > k) v.pop_back();
    }

    for(auto p : v) cout << p.k << " " << p.c << "\n";
    for(int i = 0; i < k - v.size(); i++) cout << 0 << " " << 0 << "\n";
}

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

Main.cpp: In function 'int main()':
Main.cpp:43:24: warning: comparison of integer expressions of different signedness: 'std::vector<Item>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   43 |         while(v.size() > k) v.pop_back();
      |               ~~~~~~~~~^~~
Main.cpp:47:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<Item>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |     for(int i = 0; i < k - v.size(); i++) cout << 0 << " " << 0 << "\n";
      |                    ~~^~~~~~~~~~~~~~
#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...