Submission #1540588


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
typedef signed long long ll;

#undef _P
#define _P(...) (void)printf(__VA_ARGS__)
#define FOR(x,to) for(x=0;x<(to);x++)
#define FORR(x,arr) for(auto& x:arr)
#define ITR(x,c) for(__typeof(c.begin()) x=c.begin();x!=c.end();x++)
#define ALL(a) (a.begin()),(a.end())
#define ZERO(a) memset(a,0,sizeof(a))
#define MINUS(a) memset(a,0xff,sizeof(a))
//-------------------------------------------------------

double d1,d2;
int X1,Y1,X2,Y2;
int N;
int XX[202020],YY[202020];

vector<int> LIS(vector<int>& v) {
	int i,N=v.size();
	vector<int> dp(N,1<<30),id(N);
	FOR(i,v.size()) {
		id[i] = lower_bound(dp.begin(),dp.end(),v[i]) - dp.begin();
		dp[id[i]] = v[i];
	}
	int nl = *max_element(id.begin(),id.end());
	vector<int> ret(nl+1);
	FOR(i,N) if(id[N-1-i] == nl) ret[nl--] = v[N-1-i];
	return ret;
}

void solve() {
	int i,j,k,l,r,x,y; string s;
	
	double PI=atan(1)*4;
	d1=20-20*PI/4;
	d2=20*PI/2-20;
	
	cin>>X1>>Y1>>X2>>Y2;
	cin>>N;
	FOR(i,N) {
		cin>>XX[i]>>YY[i];
		if(XX[i]<min(X1,X2) || XX[i]>max(X1,X2) || YY[i]<min(Y1,Y2) || YY[i]>max(Y1,Y2)) i--,N--;
	}
	
	X2-=X1;
	Y2-=Y1;
	FOR(i,N) {
		XX[i]-=X1;
		if(X2<0) XX[i]=-XX[i];
		YY[i]-=Y1;
		if(Y2<0) YY[i]=-YY[i];
	}
	if(X2<0) X2=-X2;
	if(Y2<0) Y2=-Y2;
	
	double ret;
	
	if(X2==0) {
		ret=100.0*Y2+N*d2;
	}
	else if(Y2==0) {
		ret=100.0*X2+N*d2;
	}
	else if(N) {
		vector<pair<int,int>> V;
		vector<int> V2;
		FOR(i,N) V.push_back({XX[i],YY[i]});
		sort(ALL(V));
		FORR(v,V) V2.push_back(v.second);
		auto V3=LIS(V2);
		
		if(V3.size()==min(X2,Y2)+1) {
			ret=100.0*(X2+Y2)-d1*(V3.size()-1)+d2;
		}
		else {
			ret=100.0*(X2+Y2)-d1*V3.size();
		}
		
	}
	else {
		ret=100.0*(X2+Y2);
	}
	_P("%.12lf\n",ret);
	
	
}


int main(int argc,char** argv){
	string s;int i;
	if(argc==1) ios::sync_with_stdio(false), cin.tie(0);
	FOR(i,argc-1) s+=argv[i+1],s+='\n'; FOR(i,s.size()) ungetc(s[s.size()-1-i],stdin);
	cout.tie(0); solve(); return 0;
}

Submission Info

Submission Time
Task C - Fountain Walk
User kmjp
Language C++14 (GCC 5.4.1)
Score 900
Code Size 2028 Byte
Status AC
Exec Time 70 ms
Memory 6768 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 900 / 900
Status
AC × 3
AC × 47
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 AC 14 ms 256 KB
subtask_1_10.txt AC 28 ms 256 KB
subtask_1_11.txt AC 8 ms 256 KB
subtask_1_12.txt AC 69 ms 6768 KB
subtask_1_13.txt AC 31 ms 256 KB
subtask_1_14.txt AC 15 ms 256 KB
subtask_1_15.txt AC 7 ms 256 KB
subtask_1_16.txt AC 70 ms 6768 KB
subtask_1_17.txt AC 25 ms 256 KB
subtask_1_18.txt AC 20 ms 256 KB
subtask_1_19.txt AC 20 ms 384 KB
subtask_1_20.txt AC 67 ms 6768 KB
subtask_1_21.txt AC 69 ms 6768 KB
subtask_1_22.txt AC 69 ms 6768 KB
subtask_1_23.txt AC 69 ms 6768 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 AC 36 ms 512 KB
subtask_1_29.txt AC 39 ms 488 KB
subtask_1_30.txt AC 70 ms 6000 KB
subtask_1_31.txt AC 46 ms 6000 KB
subtask_1_32.txt AC 53 ms 6768 KB
subtask_1_33.txt AC 52 ms 6384 KB
subtask_1_34.txt AC 46 ms 6000 KB
subtask_1_35.txt AC 57 ms 6000 KB
subtask_1_36.txt AC 59 ms 6000 KB
subtask_1_37.txt AC 58 ms 6512 KB
subtask_1_38.txt AC 57 ms 6384 KB
subtask_1_39.txt AC 57 ms 6256 KB
subtask_1_40.txt AC 54 ms 6384 KB
subtask_1_41.txt AC 54 ms 6384 KB