Submission #67508

# Submission time Handle Problem Language Result Execution time Memory
67508 2018-08-14T12:10:29 Z reality City (JOI17_city) C++17
8 / 100
514 ms 86648 KB
#include "Encoder.h"
#include "bits/stdc++.h"
using namespace std;
#define fi first
#define se second
#define ll long long
#define dbg(v) cerr<<#v<<" = "<<v<<'\n'
#define vi vector<int>
#define vl vector <ll>
#define pii pair<int,int>
#define vii vector < pii >
#define mp make_pair
#define db long double
#define pb push_back
#define all(s) s.begin(),s.end()
template < class P , class Q > ostream& operator<<(ostream& stream, pair < P , Q > v){ stream << "(" << v.fi << ',' << v.se << ")"; return stream;}
template < class T > ostream& operator<<(ostream& stream, const vector<T> v){ stream << "[ "; for (int i=0; i<(int)v.size(); i++) stream << v[i] << " "; stream << "]"; return stream;}
template < class T > T smin(T &a,T b) {if (a > b) a = b;return a;}
template < class T > T smax(T &a,T b) {if (a < b) a = b;return a;}

static const int N = 1e6;

static const db w = 1.05;

static int len[N];

static int wh[N];

vi g[N + 69];

static int T = -1;

void dfs(int node = 0,int prev = -1) {
	int beg = ++T;
	for (auto it : g[node])
		if (it != prev)
			dfs(it,node);
	int cnt = lower_bound(len,len + 256,T - beg + 1) - len;
	T += len[cnt] - 1;
	Code(node,1ll * cnt * N + beg);
}

void Encode(int NN, int A[], int B[]) {
	int n = NN;
	for (int i = 0;i + 1 < n;++i) {
		g[A[i]].pb(B[i]);
		g[B[i]].pb(A[i]);
	}
	len[0] = 1;
	for (int i = 1;i < 256;++i)
		len[i] = max(len[i - 1] + 1,(int)(w * len[i - 1]));
	dfs();
}
#include "Device.h"
#include "bits/stdc++.h"
using namespace std;
#define fi first
#define se second
#define ll long long
#define dbg(v) cerr<<#v<<" = "<<v<<'\n'
#define vi vector<int>
#define vl vector <ll>
#define pii pair<int,int>
#define vii vector < pii >
#define mp make_pair
#define db long double
#define pb push_back
#define all(s) s.begin(),s.end()
template < class P , class Q > ostream& operator<<(ostream& stream, pair < P , Q > v){ stream << "(" << v.fi << ',' << v.se << ")"; return stream;}
template < class T > ostream& operator<<(ostream& stream, const vector<T> v){ stream << "[ "; for (int i=0; i<(int)v.size(); i++) stream << v[i] << " "; stream << "]"; return stream;}
template < class T > T smin(T &a,T b) {if (a > b) a = b;return a;}
template < class T > T smax(T &a,T b) {if (a < b) a = b;return a;}

static const int N = 1e6;

static const db w = 1.05;

static int len[N];


void InitDevice() {
	len[0] = 1;
	for (int i = 1;i < 256;++i)
		len[i] = max(len[i - 1] + 1,(int)(w * len[i - 1]));
}

int Answer(ll S,ll T) {
	int a = S % N;
	int b = a + len[(S / N)] - 1;
	int c = T % N;
	int d = c + len[(T / N)] - 1;
	if (c <= a && b <= d)
		return 0;
	if (a <= c && d <= b)
		return 1;
	return 2;
}

Compilation message

Encoder.cpp:27:12: warning: 'wh' defined but not used [-Wunused-variable]
 static int wh[N];
            ^~
# Verdict Execution time Memory Grader output
1 Correct 24 ms 47616 KB Output is correct
2 Correct 24 ms 47616 KB Output is correct
3 Correct 23 ms 47616 KB Output is correct
4 Correct 22 ms 47616 KB Output is correct
5 Correct 22 ms 47616 KB Output is correct
6 Correct 21 ms 47616 KB Output is correct
7 Correct 22 ms 47616 KB Output is correct
8 Correct 23 ms 47616 KB Output is correct
9 Correct 22 ms 47600 KB Output is correct
10 Correct 24 ms 47600 KB Output is correct
11 Correct 23 ms 47616 KB Output is correct
12 Correct 23 ms 47600 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 185 ms 54720 KB Output is correct - L = 195000000
2 Correct 188 ms 54720 KB Output is correct - L = 227000000
3 Correct 181 ms 54712 KB Output is correct - L = 188000000
4 Correct 187 ms 54672 KB Output is correct - L = 205000000
5 Incorrect 514 ms 86648 KB Wrong Answer [6]
6 Halted 0 ms 0 KB -