Submission #347213

#TimeUsernameProblemLanguageResultExecution timeMemory
347213IwanttobreakfreePoi (IOI09_poi)C++14
65 / 100
769 ms20460 KiB
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int N,T,P,contador,objetivopuntos,objetivopreg;
int main(){
	while(cin>>N>>T>>P){
		int rank=1;
		int puntos[N][T];
		vector <int> puntospreg(T);//Valor de cada pregunta
		vector <int> puntosconc(N,0); //Calificación de cada concursante
		vector <int> pregconc(N,0); //Nº de preguntas que respondió cada concursante
		for(int a=0;a<N;a++){
			for(int b=0;b<T;b++){
				cin>>puntos[a][b];
			}
		}
		for(int b=0;b<T;b++){
			contador=0;
			for(int a=0;a<N;a++){
				if(puntos[a][b]==0) contador++;
			}
			puntospreg[b]=contador;
		}
		for(int a=0;a<N;a++){
			for(int b=0;b<T;b++){
				if(puntos[a][b]==1) puntosconc[a]+=puntospreg[b],pregconc[a]++;
			}
		}
		objetivopuntos=puntosconc[P-1]; //Puntos de Philip
		objetivopreg=pregconc[P-1]; //Preguntas respondidas x Philip
		for(int a=0;a<P-1;a++){
			if(objetivopuntos==puntosconc[a]){
				if(objetivopreg>=pregconc[a]) rank++;
			}
		}
		sort(puntosconc.rbegin(),puntosconc.rend());
		int pasada=0;
		while(puntosconc[pasada]>objetivopuntos){
			rank++;
			pasada++;

	}
		cout<<objetivopuntos<<" "<<rank<<'\n';
	}
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...