# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
474096 | ValiAntonie | Poi (IOI09_poi) | C++14 | 771 ms | 15968 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
struct elem{
int puncte,pr,indice;
}total[2001];
bool cmp(elem A, elem B){
if(A.puncte == B.puncte){
if(A.pr == B.pr)
return A.indice > B.indice;
return A.pr < B.pr;
}
return A.puncte < B.puncte;
}
int n,t,p,a[2001][2001],i,j,suma,task[2001],nr,nr2;
int main()
{
cin>>n>>t>>p;
for(i=1;i<=n;i++){
for(j=1;j<=t;j++){
cin>>a[i][j];
}
}
for(i=1;i<=t;i++){
suma = 0;
for(j=1;j<=n;j++){
if(!a[j][i])
suma++;
}
task[i] = suma;
}
for(i=1;i<=n;i++){
nr2 = 0;
for(j=1;j<=t;j++){
if(a[i][j]){
nr2++;
total[i].puncte += task[j];
}
}
total[i].pr = nr2;
total[i].indice = i;
}
nr = total[p].puncte;
cout << total[p].puncte << " ";
sort(total+1,total+n+1,cmp);
for(i=1;i<=n;i++){
if(total[i].indice == p){
cout << n - i + 1;
break;
}
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |