Submission #1385068


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,n) FOR(i,0,n)
#define ALL(v) (v).begin(),(v).end()
#define fi first
#define se second

template<typename A, typename B> inline bool chmax(A &a, B b) { if (a<b) { a=b; return 1; } return 0; }
template<typename A, typename B> inline bool chmin(A &a, B b) { if (a>b) { a=b; return 1; } return 0; }

typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
//typedef pair<int, pll> P;
const ll INF = 1ll<<30;
const ll MOD = 1000000007;
const double EPS  = 1e-10;

typedef complex<double> P;
typedef complex<double> Vec;

double cross(Vec a, Vec b) {
	return a.real() * b.imag() - a.imag() * b.real();
}

bool comp(P a, P b) {
	if (a.real() != b.real()) return a.real() < b.real();
	return a.imag() < b.imag();
}

vector<P> convex_full(vector<P> p) {
	sort(ALL(p), comp);
	
	vector<P> res(2 * p.size());
	int k = 0;
	
	// 下側凸包
	REP(i, p.size()) {
		while (k > 1 && cross(res[k - 1] - res[k - 2], p[i] - res[k - 2]) <= 0) k--;
		res[k++] = p[i];
	}
	
	int c1 = k;
	
	// 上側凸包
	for (int i = (int)p.size() - 2; i >= 0; i--) {
		while (k > c1 && cross(res[k - 1] - res[k - 2], p[i] - res[k - 2]) <= 0) k--;
		res[k++] = p[i];
	}
	
	res.resize(k);
	return res;
}

int main() {
	int N;
	vector<P> p[2];
	
	cin >> N;
	REP(i, 2) {
		REP(j, N) {
			int a, b;
			scanf("%d %d", &a, &b);
			p[i].push_back(P(a, b));
		}
	}
	
	double l[2] = {};
	REP(i, 2) {
		vector<P> cf = convex_full(p[i]);
		REP(j, cf.size()) l[i] += abs(cf[(j + 1) % cf.size()] - cf[j]);
	}
	
	printf("%.15f\n", l[1] / l[0]);
	
	return 0;
}

Submission Info

Submission Time
Task D - Big Bang
User tkmst201
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1716 Byte
Status AC
Exec Time 76 ms
Memory 8176 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:66:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d %d", &a, &b);
                          ^

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 50 / 50 50 / 50
Status
AC × 2
AC × 31
AC × 60
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
Subtask1 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt
Subtask2 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
subtask1_01.txt AC 2 ms 384 KB
subtask1_02.txt AC 2 ms 256 KB
subtask1_03.txt AC 2 ms 384 KB
subtask1_04.txt AC 3 ms 512 KB
subtask1_05.txt AC 2 ms 384 KB
subtask1_06.txt AC 2 ms 384 KB
subtask1_07.txt AC 2 ms 384 KB
subtask1_08.txt AC 3 ms 512 KB
subtask1_09.txt AC 3 ms 512 KB
subtask1_10.txt AC 2 ms 256 KB
subtask1_11.txt AC 2 ms 384 KB
subtask1_12.txt AC 3 ms 512 KB
subtask1_13.txt AC 2 ms 256 KB
subtask1_14.txt AC 2 ms 256 KB
subtask1_15.txt AC 3 ms 512 KB
subtask1_16.txt AC 3 ms 512 KB
subtask1_17.txt AC 3 ms 512 KB
subtask1_18.txt AC 3 ms 512 KB
subtask1_19.txt AC 3 ms 512 KB
subtask1_20.txt AC 3 ms 512 KB
subtask1_21.txt AC 3 ms 512 KB
subtask1_22.txt AC 3 ms 512 KB
subtask1_23.txt AC 3 ms 512 KB
subtask1_24.txt AC 3 ms 512 KB
subtask1_25.txt AC 3 ms 512 KB
subtask1_26.txt AC 3 ms 512 KB
subtask1_27.txt AC 3 ms 512 KB
subtask1_28.txt AC 3 ms 512 KB
subtask1_29.txt AC 3 ms 512 KB
subtask2_01.txt AC 55 ms 6128 KB
subtask2_02.txt AC 3 ms 512 KB
subtask2_03.txt AC 12 ms 1532 KB
subtask2_04.txt AC 35 ms 4084 KB
subtask2_05.txt AC 2 ms 256 KB
subtask2_06.txt AC 10 ms 1404 KB
subtask2_07.txt AC 39 ms 4468 KB
subtask2_08.txt AC 56 ms 6128 KB
subtask2_09.txt AC 36 ms 4084 KB
subtask2_10.txt AC 51 ms 5616 KB
subtask2_11.txt AC 39 ms 4468 KB
subtask2_12.txt AC 62 ms 6896 KB
subtask2_13.txt AC 18 ms 2168 KB
subtask2_14.txt AC 46 ms 5236 KB
subtask2_15.txt AC 75 ms 8176 KB
subtask2_16.txt AC 75 ms 8176 KB
subtask2_17.txt AC 74 ms 8176 KB
subtask2_18.txt AC 75 ms 8176 KB
subtask2_19.txt AC 74 ms 8176 KB
subtask2_20.txt AC 75 ms 8176 KB
subtask2_21.txt AC 73 ms 8176 KB
subtask2_22.txt AC 73 ms 8176 KB
subtask2_23.txt AC 74 ms 8176 KB
subtask2_24.txt AC 76 ms 8176 KB
subtask2_25.txt AC 73 ms 8176 KB
subtask2_26.txt AC 72 ms 8176 KB
subtask2_27.txt AC 73 ms 8176 KB
subtask2_28.txt AC 74 ms 8176 KB
subtask2_29.txt AC 72 ms 8176 KB