Submission #230366

# Submission time Handle Problem Language Result Execution time Memory
230366 2020-05-09T17:22:48 Z CaroLinda Poi (IOI09_poi) C++14
70 / 100
428 ms 24056 KB
#include <bits/stdc++.h>

#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")

#define mkt make_tuple
#define debug printf
#define all(x) x.begin(),x.end()
#define lp(i,a,b) for(int i = a ; i< b ; i++)
#define ss second
#define ff first
#define ll long long
#define pb push_back
#define pii pair<int,int>
#define mk make_pair

using namespace std ;

struct Contestant
{
    int score, solved, id ;

    Contestant() { score = solved = id = 0 ; }

    bool operator < ( Contestant other ) const
    {
        if( score == other.score && solved == other.solved ) return id < other.id ;
        if(score == other.score ) return solved > other.solved ;
        return score > other.score ;
    }

};

int N , T , P ;
int score_task[2010] , solved[2010][2010 ] ;
Contestant v[2010] ;

int main()
{
    scanf("%d%d%d", &N, &T , &P ) ;
    lp(i,1,N+1)
    {
        for(int j = 1 ; j <= T ; j++ )
        {
            scanf("%d", &solved[i][j] ) ;
            score_task[j] += !solved[i][j] ;
        }
        v[i].id = i ;
    }

    lp(i,1,N+1)
        lp(j,1,T+1) v[i].score += solved[i][j] * score_task[j] ;

    sort( v+1, v+1+N ) ;

    lp(i,1,N+1)
        if( v[i].id == P )
            printf("%d %d\n" , v[i].score, i ) ;
}

Compilation message

poi.cpp:4:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization ("O3")
 
poi.cpp:5:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization ("unroll-loops")
 
poi.cpp: In function 'int main()':
poi.cpp:41:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d%d", &N, &T , &P ) ;
     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
poi.cpp:46:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf("%d", &solved[i][j] ) ;
             ~~~~~^~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Incorrect 5 ms 384 KB Output isn't correct
4 Incorrect 4 ms 384 KB Output isn't correct
5 Correct 5 ms 512 KB Output is correct
6 Correct 5 ms 512 KB Output is correct
7 Incorrect 5 ms 640 KB Output isn't correct
8 Incorrect 5 ms 640 KB Output isn't correct
9 Correct 6 ms 896 KB Output is correct
10 Correct 8 ms 1280 KB Output is correct
11 Correct 18 ms 2304 KB Output is correct
12 Correct 27 ms 3584 KB Output is correct
13 Incorrect 69 ms 6652 KB Output isn't correct
14 Correct 97 ms 9336 KB Output is correct
15 Incorrect 184 ms 12764 KB Output isn't correct
16 Correct 179 ms 13692 KB Output is correct
17 Correct 261 ms 16904 KB Output is correct
18 Correct 298 ms 18988 KB Output is correct
19 Correct 390 ms 23160 KB Output is correct
20 Correct 428 ms 24056 KB Output is correct