Submission #921273

# Submission time Handle Problem Language Result Execution time Memory
921273 2024-02-03T16:00:13 Z Nika533 Rail (IOI14_rail) C++17
30 / 100
411 ms 98824 KB
#pragma GCC diagnostic warning "-std=c++11"
#include <bits/stdc++.h>
#include "rail.h"
#define pb push_back
#define f first
#define s second
#define MOD 1000000007
#define flush fflush(stdout)
#define all(x) (x).begin(),(x).end()
#define allr(x) (x).rbegin(), (x).rend()
#define pii pair<int,int>
using namespace std;
const int N=5e3+5;
int n,m,T,k;
int dist[N][N];
pii c[N];

void findLocation(int N, int first, int location[], int stype[])
{
	int n=N;
	stype[0]=1; location[0]=first;
	for (int i=0; i<n; i++) {
		dist[i][i]=0; c[i]={1e9,-1};
		for (int j=0; j<n; j++) {
			if (i==j) continue;
			dist[i][j]=getDistance(i,j);
			dist[j][i]=dist[i][j];
		}
	}
	
	for (int i=0; i<n; i++) {
		for (int j=0; j<n; j++) {
			if (i==j) continue;
			if (dist[i][j]<c[i].f) {
				c[i]={dist[i][j],j};
			}
		}
	}
	
	int y=c[0].s; stype[y]=2; location[y]=location[0]+c[0].f;
	int x=c[y].s; stype[x]=1; location[x]=location[y]-c[y].f;
	
//	cout<<"XY "<<x<<" "<<y<<endl;
	
	vector<int> v;
	for (int i=0; i<n; i++) {
		if (i==x || i==y) continue;
		if (dist[y][i]<dist[x][i]) v.pb(i);
	}
	
	pii l={dist[x][y],x};
	for (auto a:v) {
		int b=c[a].s;
		if (b==y || dist[a][y]<dist[b][y]) {
			stype[a]=1;
			if (dist[y][a]>l.f) {
				l={dist[y][a],a};
			}
		}
	}
	
	location[l.s]=location[y]-l.f;
	int L=l.s;
	
	for (int i=0; i<n; i++) {
		if (i==L) continue;
		int j=c[i].s;
		int o=c[j].s;
		if (j==L || dist[L][o]<dist[L][j]) {
			stype[i]=2;
			location[i]=location[L]+dist[L][i];
		}
		else {
			stype[i]=1;
			location[i]=location[L]+dist[L][j]-dist[i][j];
		}
	}
//	cout<<"L "<<L<<endl;
//	for (int i=0; i<n; i++) {
//		cout<<stype[i]<<" "<<location[i]<<endl;
//	}
}

Compilation message

rail.cpp:1:32: warning: '-std=c++11' is not an option that controls warnings [-Wpragmas]
    1 | #pragma GCC diagnostic warning "-std=c++11"
      |                                ^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2572 KB Output is correct
4 Correct 1 ms 2392 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 3 ms 2600 KB Output is correct
8 Correct 1 ms 2396 KB Output is correct
9 Correct 1 ms 2396 KB Output is correct
10 Correct 1 ms 2392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 1 ms 2392 KB Output is correct
5 Correct 1 ms 2396 KB Output is correct
6 Correct 1 ms 2396 KB Output is correct
7 Correct 1 ms 2396 KB Output is correct
8 Correct 1 ms 2396 KB Output is correct
9 Correct 1 ms 2396 KB Output is correct
10 Correct 1 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 369 ms 98640 KB Output is correct
2 Correct 360 ms 98452 KB Output is correct
3 Correct 381 ms 98684 KB Output is correct
4 Correct 393 ms 98432 KB Output is correct
5 Correct 408 ms 98616 KB Output is correct
6 Correct 364 ms 98620 KB Output is correct
7 Correct 390 ms 98388 KB Output is correct
8 Correct 369 ms 98640 KB Output is correct
9 Correct 390 ms 98636 KB Output is correct
10 Incorrect 376 ms 98616 KB Output isn't correct
11 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 367 ms 98624 KB Output is correct
2 Correct 369 ms 98688 KB Output is correct
3 Correct 364 ms 98620 KB Output is correct
4 Correct 392 ms 98824 KB Output is correct
5 Correct 356 ms 98612 KB Output is correct
6 Correct 361 ms 98624 KB Output is correct
7 Correct 367 ms 98620 KB Output is correct
8 Correct 393 ms 98432 KB Output is correct
9 Correct 411 ms 98444 KB Output is correct
10 Incorrect 374 ms 98568 KB Output isn't correct
11 Halted 0 ms 0 KB -