Submission #912995

# Submission time Handle Problem Language Result Execution time Memory
912995 2024-01-20T05:08:47 Z Muhammad_Aneeq Jousting tournament (IOI12_tournament) C++17
17 / 100
1000 ms 4704 KB
#include <iostream>
#include <vector>
using namespace std;
#include <ext/pb_ds/assoc_container.hpp> 
#include <ext/pb_ds/tree_policy.hpp> 
using namespace __gnu_pbds; 
#define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> 
int GetBestPosition(int N, int C, int R, int K[], int S[], int E[])
{
	vector<int>co[N]={};
	int ans=0,pos=0;
	for (int i=0;i<N;i++)
	{
		ordered_set s;
		for (int j=0;j<N;j++)
			s.insert(j);
		int z=0;
		for (int j=0;j<C;j++)
		{
			int ma=0;
			bool w=0;
			for (int k=S[j];k<=E[j];k++)
			{
				int z=*s.find_by_order(k);
				int f=0;
				if (z==i)
				{
					w=1;
					f=R;
				}
				else
					f=K[z-(z>i)];
				ma=max(ma,f);
			}
			for (int k=E[j];k>=S[j];k--)
			{
				int z=*s.find_by_order(k);
				int f=0;
				if (z==i)
					f=R;
				else
					f=K[z-(z>i)];
				if (ma==f)
					continue;
				s.erase(s.find_by_order(k));
			}
			if (w)
			{
				if (ma==R)
					z++;
				else
					break;
			}
		}
		if (z>ans)
		{
			ans=z;
			pos=i;
		}
	}
	return pos;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 2 ms 500 KB Output is correct
3 Correct 45 ms 452 KB Output is correct
4 Correct 34 ms 448 KB Output is correct
5 Correct 41 ms 500 KB Output is correct
6 Correct 39 ms 348 KB Output is correct
7 Correct 38 ms 500 KB Output is correct
8 Correct 36 ms 348 KB Output is correct
9 Correct 33 ms 348 KB Output is correct
10 Correct 33 ms 688 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 276 ms 496 KB Output is correct
2 Execution timed out 1022 ms 860 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1022 ms 4704 KB Time limit exceeded
2 Halted 0 ms 0 KB -