Submission #2291864


Source Code Expand

#include<cstdio>
#include<algorithm>
#define pi 3.14159265358979343846
using namespace std;
struct N{
	int x,y;
}s,t,f[200005];
int n,start,endd,opt[200005],k,opt_n,flag;
double ans;
bool comp(N a,N b){return a.x<a.y;}
int search(int h){
    int l=1,mid,r=opt_n;
    while(l<=r){
        mid=(l+r)/2;
        if(opt[mid]>=h)
            if(mid+1<=r&&opt[mid+1]>=h) l=mid+1;
            else return(mid);
        else r=mid-1; 
    }
    return r;
}
int main(){
	scanf("%d%d%d%d",&s.x,&s.y,&t.x,&t.y);
	scanf("%d",&n);
	for(int i=1;i<=n;++i) scanf("%d%d",&f[i].x,&f[i].y);
	sort(f+1,f+n+1,comp);
	//for(int i=1;i<=n;++i) printf("%d %d\n",f[i].x,f[i].y);
	if(s.x>t.x){
		int temp=s.x;
		s.x=t.x;
		t.x=temp;
	}
	if(t.y>s.y) flag=-1;
	else flag=1;
	for(int i=1;i<=n;++i){
		if(f[i].x>s.x&&(i-1<1||f[i-1].x<=s.x)&&flag*s.y>=flag*f[i].y&&flag*t.y<=flag*f[i].y) start=i;
		if(f[i].x<t.x&&(i+1>n||f[i+1].x>=t.x)&&flag*s.y>=flag*f[i].y&&flag*t.y<=flag*f[i].y) endd=i;
	}
	if(start==0&&endd==0&&s.x!=t.x){
		printf("%.15lf",(double)100*(t.x-s.x)+100*(-flag*(t.y-s.y)));
		return 0;
	}
	/*
	opt[1]=flag*f[start].y; opt_n=1;
	//printf("%d\n",flag);
    for(int i=start+1;i<=endd;++i){
        int h=flag*f[i].y;
        if(flag*t.y-h>0) continue;
        if(h<opt[opt_n]) k=++opt_n;
        else k=search(h)+1;
        //printf("%d\n",k);
        opt[k]=h;
    }
	if(s.x==t.x){
		int cnt=0;
		for(int i=1;i<=n;++i)
			if(f[i].x==s.x)
				cnt++;
		printf("%.15lf",100*(-flag*t.y-s.y)-20*cnt+10*pi*cnt);
		return 0;
	}
	if(s.y==t.y){
		int cnt=0;
		for(int i=1;i<=n;++i)
			if(f[i].x>s.x&&f[i].x<t.x&&f[i].y==s.y)
				cnt++;
		printf("%.15lf",100*(t.x-s.x)-20*cnt+10*pi*cnt);
		return 0;
	}
    //printf("%d %d %d\n",start,end,opt_n);
    printf("%.15lf",100*(t.x-s.x)+100*(-flag*(t.y-s.y))-opt_n*20+opt_n*pi*5);
    */
}

Submission Info

Submission Time
Task C - Fountain Walk
User luogu_bot2
Language C++ (GCC 5.4.1)
Score 0
Code Size 1808 Byte
Status RE
Exec Time 141 ms
Memory 1664 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:23:39: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d%d%d",&s.x,&s.y,&t.x,&t.y);
                                       ^
./Main.cpp:24:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
                ^
./Main.cpp:25:53: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  for(int i=1;i<=n;++i) scanf("%d%d",&f[i].x,&f[i].y);
                                                     ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 900
Status
AC × 1
WA × 2
AC × 5
WA × 14
RE × 28
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 WA 0 ms 128 KB
sample_02.txt AC 1 ms 128 KB
sample_03.txt WA 0 ms 128 KB
subtask_1_01.txt WA 1 ms 128 KB
subtask_1_02.txt WA 1 ms 128 KB
subtask_1_03.txt WA 1 ms 128 KB
subtask_1_04.txt WA 0 ms 128 KB
subtask_1_05.txt AC 1 ms 128 KB
subtask_1_06.txt WA 1 ms 128 KB
subtask_1_07.txt AC 1 ms 128 KB
subtask_1_08.txt WA 1 ms 128 KB
subtask_1_09.txt RE 110 ms 640 KB
subtask_1_10.txt RE 126 ms 1280 KB
subtask_1_11.txt RE 107 ms 512 KB
subtask_1_12.txt RE 135 ms 1664 KB
subtask_1_13.txt RE 126 ms 1408 KB
subtask_1_14.txt RE 111 ms 768 KB
subtask_1_15.txt RE 104 ms 384 KB
subtask_1_16.txt RE 141 ms 1664 KB
subtask_1_17.txt RE 123 ms 1152 KB
subtask_1_18.txt RE 117 ms 896 KB
subtask_1_19.txt RE 116 ms 896 KB
subtask_1_20.txt RE 138 ms 1664 KB
subtask_1_21.txt RE 139 ms 1664 KB
subtask_1_22.txt RE 136 ms 1664 KB
subtask_1_23.txt RE 137 ms 1664 KB
subtask_1_24.txt WA 1 ms 128 KB
subtask_1_25.txt WA 1 ms 128 KB
subtask_1_26.txt AC 1 ms 128 KB
subtask_1_27.txt WA 1 ms 128 KB
subtask_1_28.txt RE 134 ms 1664 KB
subtask_1_29.txt RE 138 ms 1664 KB
subtask_1_30.txt RE 138 ms 1664 KB
subtask_1_31.txt RE 133 ms 1664 KB
subtask_1_32.txt WA 40 ms 1664 KB
subtask_1_33.txt RE 131 ms 1664 KB
subtask_1_34.txt RE 131 ms 1664 KB
subtask_1_35.txt RE 136 ms 1664 KB
subtask_1_36.txt RE 138 ms 1664 KB
subtask_1_37.txt RE 136 ms 1664 KB
subtask_1_38.txt RE 140 ms 1664 KB
subtask_1_39.txt RE 139 ms 1664 KB
subtask_1_40.txt RE 134 ms 1664 KB
subtask_1_41.txt RE 136 ms 1664 KB