Submission #257641

# Submission time Handle Problem Language Result Execution time Memory
257641 2020-08-04T13:55:46 Z sjimed None (JOI16_snowy) C++14
35 / 100
33 ms 2176 KB
#include "Anyalib.h"
#include<bits/stdc++.h>
using namespace std;

#define fast ios::sync_with_stdio(false); cin.tie(NULL)
#define fi first
#define se second
#define pb push_back
#define eb emplace_back
#define em emplace
#define all(v) (v).begin(), (v).end()
#define pre(a) cout<<fixed; cout.precision(a)
#define mp make_pair

typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef pair<int,pii> pipii;
const int inf = 1e9;
const ll INF = 1e18;

static int n;
static int a[555];
static int b[555];
static int p[555];
static vector<int> g[555];
static int sum[555];
static int num[555];
static int cnt = 500;

static int edge[555];

static int dist[555];

static void dfs(int x) {
	sum[x] = 1;
	for(auto i : g[x]) {
		if(i == p[x]) continue;

		p[i] = x;
		dfs(i);

		sum[x] += sum[i];
	}

	if(sum[x] >= 10) {
		sum[x] = 0;
		num[x] = cnt;
		cnt += 9;
	}
}

void InitAnya(int N , int A[] , int B[]) {
	n = N;

	for(int i=0; i<n-1; i++) {
		a[i] = A[i];
		b[i] = B[i];

		g[a[i]].eb(b[i]);
	}

	dfs(0);

	for(int i=0; i<n-1; i++) {
		if(p[a[i]] == b[i]) edge[a[i]] = i;
		else edge[b[i]] = i;
	}
}

void Anya(int C[]) {
	for(int i=0; i<n-1; i++) {
		Save(i, C[i]);
	}

	for(int i=1; i<n; i++) {
		if(num[i] < n) continue;

		dist[i] = 0;
		for(int j=i; j; j = p[j]) {
			dist[i] += C[edge[j]];
		}

		for(int j=num[i]; j < num[i] + 9; j++) {
			if(dist[i] & (1 << j - num[i])) Save(j, 1);
			else Save(j, 0);
		}
	}
}
#include "Borislib.h"
#include<bits/stdc++.h>
using namespace std;

#define fast ios::sync_with_stdio(false); cin.tie(NULL)
#define fi first
#define se second
#define pb push_back
#define eb emplace_back
#define em emplace
#define all(v) (v).begin(), (v).end()
#define pre(a) cout<<fixed; cout.precision(a)
#define mp make_pair

typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef pair<int,pii> pipii;
const int inf = 1e9;
const ll INF = 1e18;

static int n;
static int a[555];
static int b[555];
static int p[555];
static vector<int> g[555];
static int sum[555];
static int num[555];
static int cnt = 500;

static int edge[555];

static void dfs(int x) {
	sum[x] = 1;
	for(auto i : g[x]) {
		if(i == p[x]) continue;

		p[i] = x;
		dfs(i);

		sum[x] += sum[i];
	}

	if(sum[x] >= 10) {
		sum[x] = 0;
		num[x] = cnt;
		cnt += 9;
	}
}

void InitBoris(int N , int A[] , int B[]) {
	n = N;

	for(int i=0; i<n-1; i++) {
		a[i] = A[i], b[i] = B[i];

		g[a[i]].eb(b[i]);
	}

	dfs(0);

	for(int i=0; i<n-1; i++) {
		if(p[a[i]] == b[i]) edge[a[i]] = i;
		else edge[b[i]] = i;
	}
}

int Boris(int city) {
	int i;
	int ans = 0;

	for(i = city; i; i = p[i]) {
		if(sum[i]) ans += Ask(edge[i]);
		else {
			for(int j = num[i]; j < num[i] + 9; j++) {
				ans += Ask(j) << (j - num[i]);
			}
			break;
		}
	}

	return ans;
}

Compilation message

Anya.cpp: In function 'void Anya(int*)':
Anya.cpp:85:25: warning: suggest parentheses around '-' inside '<<' [-Wparentheses]
    if(dist[i] & (1 << j - num[i])) Save(j, 1);
                       ~~^~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 988 KB Output is correct
2 Incorrect 1 ms 988 KB Wrong Answer [4]
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 7 ms 1280 KB Wrong Answer [4]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 29 ms 1848 KB Output is correct
2 Correct 31 ms 1904 KB Output is correct
3 Correct 29 ms 1904 KB Output is correct
4 Correct 32 ms 1776 KB Output is correct
5 Correct 28 ms 1776 KB Output is correct
6 Correct 29 ms 1904 KB Output is correct
7 Correct 29 ms 1848 KB Output is correct
8 Correct 30 ms 1908 KB Output is correct
9 Correct 29 ms 2176 KB Output is correct
10 Correct 30 ms 2028 KB Output is correct
11 Correct 32 ms 1824 KB Output is correct
12 Correct 30 ms 1908 KB Output is correct
13 Correct 30 ms 1916 KB Output is correct
14 Correct 30 ms 1892 KB Output is correct
15 Correct 33 ms 1776 KB Output is correct
16 Correct 30 ms 2028 KB Output is correct
17 Correct 29 ms 1776 KB Output is correct
18 Correct 29 ms 1776 KB Output is correct
19 Correct 30 ms 1892 KB Output is correct
20 Correct 30 ms 1900 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 9 ms 1904 KB Wrong Answer [4]
2 Halted 0 ms 0 KB -