Submission #581176

#TimeUsernameProblemLanguageResultExecution timeMemory
581176josanneo22Fun Tour (APIO20_fun)C++17
26 / 100
12 ms2644 KiB
#include "fun.h"
#include<bits/stdc++.h>
#include<iostream>
#include<cmath>
#include<stdlib.h>
 
using namespace std;
 
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<pair<int, int> > vpii;
typedef pair<ll,ll> pll;
typedef vector<ll> vll;
#define FOR(i,a,b) for (int i = (a); i < (b); ++i)
#define F0R(i,a) FOR(i,0,a)
#define ROF(i,a,b) for (int i = (b); i >= (a); --i)
#define R0F(i,a) ROF(i,0,a)
#define trav(a,x) for (auto& a: x)
 
#define mp make_pair
#define pb push_back
#define rsz resize
#define sz(x) int(x.size())
#define all(x) begin(x), end(x)
#define f first
#define s second
#define out(x) cout<<x<<'\n';
#define in(x) cin>>x;
#define inarr(a,x,y) for(int i=x;i<y;i++){cin>>a[i];}
#define incor(a,x,y) for(int i=x;i<y;i++){cin>>a[i].f>>a[i].s;}

const int maxn = 510;
 
int dist[maxn][maxn];
int hight[maxn];
bool vis[maxn];
 
vi createFunTour(int N, int Q)
{
	vi ans;
	int mx = -1;
	int f = -1;
	FOR(i,0,N)
	{
      	FOR(j,i+1,N)
		{
			dist[i][j] = dist[j][i] = hoursRequired(i, j);
			if(mx < dist[i][j])
			{
				mx = dist[i][j];
				f = i;
			}
		}
	}
	ans.pb(f);
	vis[f] = true;
	FOR(i,1,N)
	{
		pii mx = pii(-1, f);
		FOR(j,0,N)
			if(!vis[j]) mx = max(mx, pii(dist[f][j], j));
		f = mx.s;
		ans.pb(f);
		vis[f] = true;
	}
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...