Submission #331753

# Submission time Handle Problem Language Result Execution time Memory
331753 2020-11-29T22:29:47 Z MohamedAhmed04 Tenis (COCI20_tenis) C++14
35 / 110
1000 ms 197644 KB
#include <bits/stdc++.h>

using namespace std ;

const int MAX = 3000 + 10 ;

int arr[3][MAX] , pos[3][MAX] ;
int n ;

int mark[MAX][MAX] , cnt[3] , ans[MAX] ;

int main()
{
	ios_base::sync_with_stdio(0) ;
	cin.tie(0) ;
	cin>>n ;
	for(int i = 0 ; i < 3 ; ++i)
	{
		for(int j = 1 ; j <= n ; ++j)
		{
			cin>>arr[i][j] ;
			pos[i][arr[i][j]] = j ;
		}
	}
	vector< array<int , 3> >v ;
	for(int i = 1 ; i <= n ; ++i)
	{
		for(int j = i+1 ; j <= n ; ++j)
		{
			for(int k = 0 ; k < 3 ; ++k)
				v.push_back({min(pos[k][i] , pos[k][j]) , max(pos[k][i] , pos[k][j]) , k}) ;
		}
	}
	sort(v.begin() , v.end()) ;
	for(auto &a : v)
	{
		int x = arr[a[2]][a[0]] ;
		int y = arr[a[2]][a[1]] ;
		if(mark[x][y])
			continue ;
		mark[x][y] = mark[y][x] = 1 ;
		cnt[a[2]]++ ;
		ans[x]++ ;
	}
	cout<<cnt[0]<<" "<<cnt[1]<<" "<<cnt[2]<<"\n" ;
	for(int i = 1 ; i <= n ; ++i)
		cout<<ans[i]<<" " ;
	cout<<"\n" ;
	return 0 ;
}		
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 26 ms 3676 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 26 ms 3676 KB Output is correct
4 Execution timed out 1103 ms 197644 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 26 ms 3676 KB Output is correct
4 Execution timed out 1103 ms 197644 KB Time limit exceeded