Submission #961849

# Submission time Handle Problem Language Result Execution time Memory
961849 2024-04-12T14:51:56 Z rithvick_2004 Poi (IOI09_poi) C++14
55 / 100
172 ms 15964 KB
#include<bits/stdc++.h>
using namespace std;
int N,T,P;
struct finale
{
    int id;
    int p_solved;
    int score;
    bool operator< (const finale &F)
    {
        if(score!=F.score) return (score>F.score);
        else if( p_solved!=F.p_solved) return(p_solved>F.p_solved);
        else return(id<F.id);
    }
};
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cin>>N>>T>>P; //no choice
    int k; //help variable
    int Contestant[N][T+1]; //N is number of participants and T is for task Contestant[N][T] stores the number of questions solved
    int points[T]; //giving points for each task
    fill(points,points+N,N); //initially all points are N
    for (int i = 0; i < N; i++)
    {
        Contestant[i][T] =0;
        for (int j = 0; j < T; j++)
        {
            cin>>k; // this is 1 or 0 but i took int so that I don't get a weird error
            points[j]=points[j]-k; //understandable
            Contestant[i][j]=k; //the 2D array get's filled
            Contestant[i][T] =Contestant[i][T] +k;
        }
    }// all inputs taken and the points of each task
    vector<finale> data(N);
    for(int i=0; i<N;i++)
    {
        data[i].id=i+1;
        data[i].p_solved=Contestant[i][T];
        data[i].score =0;
        for(int j =0; j<T;j++)
        {
            data[i].score=data[i].score+(Contestant[i][j])*(points[j]);
        }
    }
    k=data[P-1].score;
    cout<<k<<" ";
    sort(data.begin(),data.end());
    //now comes the rubbish O(n) part
    for(int i=0; i<N;i++)
    {
        if(P==data[i].id)
        {
            cout<<i+1;
            break;
        }
    }
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 0 ms 348 KB Output isn't correct
3 Incorrect 1 ms 348 KB Output isn't correct
4 Correct 0 ms 348 KB Output is correct
5 Incorrect 0 ms 348 KB Output isn't correct
6 Correct 0 ms 348 KB Output is correct
7 Incorrect 1 ms 344 KB Output isn't correct
8 Correct 1 ms 348 KB Output is correct
9 Incorrect 1 ms 348 KB Output isn't correct
10 Correct 2 ms 348 KB Output is correct
11 Incorrect 6 ms 860 KB Output isn't correct
12 Correct 10 ms 1112 KB Output is correct
13 Incorrect 27 ms 2784 KB Output isn't correct
14 Correct 38 ms 3772 KB Output is correct
15 Incorrect 65 ms 6304 KB Output isn't correct
16 Correct 72 ms 6748 KB Output is correct
17 Incorrect 109 ms 9836 KB Output isn't correct
18 Correct 125 ms 11100 KB Output is correct
19 Correct 155 ms 14424 KB Output is correct
20 Correct 172 ms 15964 KB Output is correct