# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1081888 | Dennis_Jason | Poi (IOI09_poi) | C++17 | 158 ms | 9752 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define NMAX 2005
#define pb push_back
#define eb emplace_back
#define MOD 100003
#define nl '\n'
#define INF 2147483647
#define LLONG_MAX 9223372036854775807
#define pii pair<int,int>
#define tpl tuple<int,int,int>
//#pragma GCC optimize("O3")
using namespace std;
ifstream fin("aib.in");
ofstream fout("aib.out");
/*
*
*
================DEMONSTRATION===================
=====================END========================
*/
int n,t,p;
vector<int>col;
vector<vector<int>>can(NMAX);
vector<int>nr(NMAX);
vector<pii>part;
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin>>n>>t>>p;
col.resize(t+1);
part.resize(n+1);
for(int i=1;i<=n;++i)
{
for(int j=1;j<=t;++j)
{
int x;
cin>>x;
col[j]+=x;
if(x)
{
can[i].pb(j);
nr[i]++;
}
}
}
for(int i=1;i<=t;++i)
{
col[i]=n-col[i];
}
for(int i=1;i<=n;++i)
{
int aux=0;
for(auto x:can[i])
aux+=col[x];
part[i]={aux,i};
}
auto cmp=[&](pii a,pii b)
{
if(a.first==b.first)
{
if(nr[a.second]==nr[b.second])
return a.second<b.second;
else
return nr[a.second]>nr[b.second];
}
return a.first>b.first;
};
sort(part.begin(),part.end(),cmp);
for(int i=1;i<=n;++i)
{
auto[x,y]=part[i];
if(y==p)
{
cout<<x<<" "<<i;
return 0;
}
}
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |