Submission #634760

# Submission time Handle Problem Language Result Execution time Memory
634760 2022-08-24T20:38:09 Z PolishFighter Poi (IOI09_poi) C++17
100 / 100
211 ms 9544 KB
#include<bits/stdc++.h>

using namespace std;

constexpr int MAXN = 2e3 + 10;

int score[MAXN];
int task[MAXN];
vector<int> cont[MAXN];

bool check(int a, int b)
{
	if(score[a] > score[b])
		return true;

	if(score[a] == score[b])
	{
		if(cont[a].size() > cont[b].size())
			return true;
		if(cont[a].size() == cont[b].size())
			return a < b;
		return false;
	}
		
	return false;
}

int main()
{
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);	
	int n, t, p, tmp;
	cin >> n >> t >> p;
	p--;
	for(int i = 0; i < n; i++)
	{
		for(int j = 0; j < t; j++)
		{
			cin >> tmp;
			if(tmp == 0)
				task[j]++;
			else
				cont[i].push_back(j);
		}
	}
	vector<int> cont_s;

	for(int i = 0; i < n; i++)
	{
		for(size_t j = 0; j < cont[i].size(); j++)
		{
			score[i] += task[cont[i][j]];
		}
		cont_s.push_back(i);
	}

	sort(cont_s.begin(), cont_s.end(), check);

	for(int i = 0; i < n; i++)
	{
		if(cont_s[i] == p)
		{
			cout << score[cont_s[i]] << " " << i+1 << "\n";
			return 0;
		}
	}

	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 0 ms 340 KB Output is correct
5 Correct 0 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 2 ms 468 KB Output is correct
11 Correct 7 ms 596 KB Output is correct
12 Correct 10 ms 852 KB Output is correct
13 Correct 35 ms 1688 KB Output is correct
14 Correct 42 ms 2296 KB Output is correct
15 Correct 77 ms 5148 KB Output is correct
16 Correct 81 ms 5508 KB Output is correct
17 Correct 119 ms 6328 KB Output is correct
18 Correct 143 ms 7124 KB Output is correct
19 Correct 179 ms 8340 KB Output is correct
20 Correct 211 ms 9544 KB Output is correct