Submission #631120

#TimeUsernameProblemLanguageResultExecution timeMemory
631120chinmoy_101Poi (IOI09_poi)C++14
55 / 100
552 ms15956 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long   
int main()
{
    int n, t, p;
    cin>>n >>t >>p;
    int points_for_each_task_array[t];
    memset(points_for_each_task_array, 0, sizeof points_for_each_task_array);
    int arr[n][n];
    vector<pair<int, pair<int, int> > > final_standing(n, {0, {0, 0}}); // score, solves, -id
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<t; j++)
        {
            cin>>arr[i][j];
            if(arr[i][j]==0)
            {
                points_for_each_task_array[j]++;
            }
        }
    }
    for(int i=0; i<n; i++)
    {
        int ans=0, no_of_problems_solved=0;
        for(int j=0; j<t; j++)
        {
            if(arr[i][j]==1)
            {
                ans+=points_for_each_task_array[j];
                no_of_problems_solved++;
            }
        }
        final_standing[i]={ans, {no_of_problems_solved, -i-1}};
    }
    sort(final_standing.begin(), final_standing.end());
    reverse(final_standing.begin(), final_standing.end());
    for(int i=0; i<n; i++)
    {
        if(final_standing[i].second.second==-p)
        {
            cout<<final_standing[i].first <<" " <<i+1 <<"\n";
            return 0;
        }
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...