Submission #1542993


Source Code Expand

#include <iostream>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <stack>
#include <algorithm>
#include <cmath>
#include <cstring>
#include <complex>
#include <iomanip>

using namespace std;

//typedef
typedef vector<int> VI;
typedef vector<VI> VVI;
typedef vector<string> VS;
typedef pair<int, int> PII;
typedef long long ll;

#define omajinai ios::sync_with_stdio(false);cin.tie(0)

//container util
#define ALL(a)  (a).begin(),(a).end()
#define RALL(a) (a).rbegin(), (a).rend()
#define UNIQUE(a)  (a).erase(unique((a).begin(),(a).end()),(a).end())
#define MP make_pair
#define SZ(a) int((a).size())
#define EACH(i,c) for(auto i=(c).begin(); i!=(c).end(); ++i)
#define EXIST(s,e) ((s).find(e)!=(s).end())
#define SORT(c) sort((c).begin(),(c).end())

//repetition
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define REP(i,n)  FOR(i,0,n)
#define RFOR(i,b,a) for(int i=(b)-1;i>=(a);--i)
#define RREP(i,n) RFOR(i,n,0)

//clear memory
#define CLR(a) memset((a), 0 ,sizeof(a))

//debug
#define dump(x)  cerr << "[L " << __LINE__ << "] " << #x << " = " << (x) << "\n";

#define X first
#define Y second

const int _N = 2e5;
const long double PI = acos(-1);

int x1,x2,yy1,yy2;
int n;
int cnt[_N];
int ins = 0;
vector<PII> p;
bool inside(int x, int y){
	return x1 <= x && x <= x2 &&
			yy1 <= y && y <= yy2;
}
int count(int i){
	if(~cnt[i])return cnt[i];
	if(!inside(p[i].X, p[i].Y)){
		return cnt[i] = 0;
	}
	ins++;
	int c = 1;

	FOR(j, i+1, n){
		if(p[j].Y > p[i].Y){ // right and top
			c += count(j);
		}
	}
	return cnt[i] = c;
}
int main() {
	cin >> x1 >> yy1 >> x2 >> yy2 >> n;
	//init
	REP(i, n)cnt[i] = -1;
	//
	int xk = 1, yk = 1;
	if(x1>x2&&yy1>yy2){
		swap(x1,x2);
		swap(yy1,yy2);
	}else if(x1>x2){
		x1*=-1;x2*=-1;
		xk=-1;
	}else if(yy1>yy2){
		yy1*=-1;yy2*=-1;
		yk=-1;
	}
	REP(i, n){
		int xx, yy;
		cin >> xx >> yy;
		p.push_back(MP(xx * xk, yy * yk));
	}
	SORT(p);
	int M = 0;
	REP(i, n){ //count (right and top) s
		M = max(M,count(i));
	}
	long double ans = ((x2-x1)+(yy2-yy1)) * 100;

	if(M==min((x2-x1),(yy2-yy1))+1){
		ans += (M-1) * (5*PI - 20) - 20 + 10 * PI;
	}else{
		ans += M * (5*PI - 20);
	}
	cout << fixed << setprecision(12) << ans << endl;
	return 0;
}

Submission Info

Submission Time
Task C - Fountain Walk
User luma
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2337 Byte
Status WA
Exec Time 2104 ms
Memory 14192 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 900
Status
AC × 3
AC × 18
WA × 11
TLE × 18
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask_1_01.txt AC 1 ms 256 KB
subtask_1_02.txt AC 1 ms 256 KB
subtask_1_03.txt AC 1 ms 256 KB
subtask_1_04.txt AC 1 ms 256 KB
subtask_1_05.txt AC 1 ms 256 KB
subtask_1_06.txt AC 1 ms 256 KB
subtask_1_07.txt AC 1 ms 256 KB
subtask_1_08.txt AC 1 ms 256 KB
subtask_1_09.txt WA 73 ms 1656 KB
subtask_1_10.txt WA 155 ms 2932 KB
subtask_1_11.txt WA 40 ms 1020 KB
subtask_1_12.txt TLE 2104 ms 12016 KB
subtask_1_13.txt WA 165 ms 3060 KB
subtask_1_14.txt WA 75 ms 1656 KB
subtask_1_15.txt WA 38 ms 1020 KB
subtask_1_16.txt TLE 2104 ms 12144 KB
subtask_1_17.txt WA 135 ms 1912 KB
subtask_1_18.txt WA 114 ms 1784 KB
subtask_1_19.txt WA 456 ms 1784 KB
subtask_1_20.txt TLE 2104 ms 12016 KB
subtask_1_21.txt TLE 2104 ms 12144 KB
subtask_1_22.txt TLE 2104 ms 14192 KB
subtask_1_23.txt TLE 2103 ms 3312 KB
subtask_1_24.txt AC 1 ms 256 KB
subtask_1_25.txt AC 1 ms 256 KB
subtask_1_26.txt AC 1 ms 256 KB
subtask_1_27.txt AC 1 ms 256 KB
subtask_1_28.txt WA 1216 ms 3188 KB
subtask_1_29.txt WA 623 ms 3188 KB
subtask_1_30.txt TLE 2103 ms 3188 KB
subtask_1_31.txt TLE 2103 ms 3188 KB
subtask_1_32.txt TLE 2104 ms 12016 KB
subtask_1_33.txt TLE 2104 ms 7408 KB
subtask_1_34.txt TLE 2103 ms 3188 KB
subtask_1_35.txt TLE 2103 ms 3188 KB
subtask_1_36.txt TLE 2103 ms 3188 KB
subtask_1_37.txt TLE 2104 ms 9328 KB
subtask_1_38.txt TLE 2104 ms 7408 KB
subtask_1_39.txt TLE 2104 ms 5872 KB
subtask_1_40.txt TLE 2104 ms 7408 KB
subtask_1_41.txt TLE 2103 ms 3188 KB