Submission #1312976

#TimeUsernameProblemLanguageResultExecution timeMemory
1312976hectormedranoPoi (IOI09_poi)C++20
100 / 100
155 ms1096 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

struct info{
    ll id;
    ll s = 0;
    ll c = 0;
};

bool ord(info x, info y){
    if(x.s == y.s){
        if(x.c == y.c){return (x.id < y.id);}
        return (x.c > y.c);
    }
    return (x.s > y.s);
}

int main() {
    cin.tie(nullptr);
    ios_base::sync_with_stdio(false);
    ll N, T, P, x;
    cin>>N>>T>>P;
    P--;
    vector<info> p(N);
    vector<ll> q(T, N);
    vector<vector<bool>> I(N, vector<bool>(T, false));
    for(ll i=0;i<N;i++){
        for(ll j=0;j<T;j++){
            p[i].id = i;
            cin>>x;
            if(x==0){continue;}
            I[i][j] = true;
            q[j]--;
            p[i].c++;
        }
    }
    for(ll i=0;i<N;i++){
        for(ll j=0;j<T;j++){
            if(!I[i][j]){continue;}
            p[i].s += q[j];
        }
    }
    sort(p.begin(), p.end(), ord);
    for(ll i=0;i<N;i++){
        //cout<<p[i].s<<" "<<p[i].c<<" "<<p[i].id<<endl;
        if(p[i].id != P){continue;}
        cout<<p[i].s<<" "<<i+1; 
        return 0;
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...