제출 #583130

#제출 시각아이디문제언어결과실행 시간메모리
583130evening_gPoi (IOI09_poi)C++11
0 / 100
73 ms65536 KiB
/**
 * @file poi.cpp
 * @brief https://oj.uz/problem/view/IOI09_poi
 * @version 0.1
 * @date 2022-06-24
 * 
 * 
 */

#include<bits/stdc++.h>

using namespace std;

int find_rank(const vector<int> &v, const int &target) {
    int index = 0;
    while(v[index] != target) index++;
    return index + 1;
}

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

    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);

    // DEFINE VARIABLES

    int n, t, p, x;

    cin >> n >> t >> p;

    vector< vector<int> > contestants(n, {t, 0}); // tasks solved by each contestant
    vector<int> tasks(t, n);    // worth of each task
    vector<int> score(n, 0);    // score of each contestant

    // READ DATA

    for (int i = 0; i < n; i++) {
        for (int j = 0; j < t; j++) {
            cin >> contestants[i][j];
            // if this user solved this task
            if (contestants[i][j] == 1) {
                // the worth of the task decreases with each contestant that solves it
                tasks[j] --;
            }
        }        
    }
    
    // PROCESS
    //calculate score of each contestant
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < t; j++) {
            if (contestants[i][j] == 1) {
                // the worth of the task decreases with each contestant that solves it
                score[i] += tasks[j];
            } 
        }
    }
    
    // get philip schore
    int philip_score = score[p + 1];

    // sort by score
    sort(score.begin(), score.end(), greater<int>());

    // as there can't be contestats with the same score
    // we use philip's score to find its rank

    cout << philip_score << " " << find_rank(score, philip_score) << '\n';
       
    return 0;
}

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

poi.cpp: In function 'int main()':
poi.cpp:29:18: warning: unused variable 'x' [-Wunused-variable]
   29 |     int n, t, p, x;
      |                  ^
poi.cpp:24:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   24 |     freopen("input.txt", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
poi.cpp:25:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   25 |     freopen("output.txt", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...