Submission #19828


Source Code Expand

#include <stdio.h>
#include <math.h>

long check(long, long, long, long, long, long, long);
int eProduct(long, long, long, long, long, long);

int main() 
{
	long N, s, g, l, r, i, si;
	long newS;
	double sum = 0.0;

	scanf( "%ld", &N );
	scanf( "%ld %ld", &s, &g );
	scanf( "%ld %ld", &l, &r );
	si = 0;
	for ( i = 1; si != N; ) {
		scanf( "%ld %ld", &l, &r );
//		printf( "input: %d %d\n", l, r );
		if ( newS = check(si, s, N, g, si+i, l, r) ) {
//			printf( "check!(i:%d,num:%d)\n", i, newS );
			sum += sqrt((newS-s)*(newS-s)+i*i);
			s = newS;
			si += i;
			i = 1;
		}
		else {
			i++;
		}
	}
	
	printf( "%.20lf\n", sum );
	return 0;
}

long check( long si, long s, long N, long g, long i, long l, long r ) {
	if ( i == N ) {
		return g;
	}
	if ( eProduct(s,si,g,N,l,i) ) {
		return l;
	}
	if ( eProduct(s,si,r,i,g,N) ) {
		return r;
	}
	return 0;
}

int eProduct( long ox, long oy, long p1x, long p1y, long p2x, long p2y ) {
	long long op1x = p1x-ox, op1y = p1y-oy;
	long long op2x = p2x-ox, op2y = p2y-oy;
	return op1x*op2y >= op1y*op2x;
}

Submission Info

Submission Time
Task D - レースゲーム
User urasa
Language C (GCC 4.4.7)
Score 0
Code Size 1104 Byte
Status WA
Exec Time 2024 ms
Memory 588 KiB

Compile Error

./Main.c: In function ‘main’:
./Main.c:13: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
./Main.c:14: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
./Main.c:15: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
./Main.c:18: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 3
WA × 22
TLE × 1
Set Name Test Cases
All 00_sample1.txt, 00_sample2.txt, 01_rnd_large_00.txt, 01_rnd_large_01.txt, 01_rnd_large_02.txt, 01_rnd_small_00.txt, 01_rnd_small_01.txt, 01_rnd_small_02.txt, 02_narrowrnd_large_00.txt, 02_narrowrnd_large_01.txt, 02_narrowrnd_small_00.txt, 02_narrowrnd_small_01.txt, 03_zigzag_large_00.txt, 03_zigzag_small_00.txt, 04_middle_large_00.txt, 04_middle_large_01.txt, 04_middle_large_02.txt, 04_middle_small_00.txt, 04_middle_small_01.txt, 04_middle_small_02.txt, 05_turnleft_large_00.txt, 05_turnleft_small_00.txt, 06_turnright_large_00.txt, 06_turnright_small_00.txt, 07_free_large_00.txt, 07_free_small_00.txt
Case Name Status Exec Time Memory
00_sample1.txt WA 8 ms 128 KiB
00_sample2.txt AC 9 ms 580 KiB
01_rnd_large_00.txt WA 81 ms 580 KiB
01_rnd_large_01.txt WA 82 ms 288 KiB
01_rnd_large_02.txt WA 82 ms 288 KiB
01_rnd_small_00.txt WA 11 ms 0 KiB
01_rnd_small_01.txt WA 11 ms 580 KiB
01_rnd_small_02.txt WA 11 ms 0 KiB
02_narrowrnd_large_00.txt WA 82 ms 576 KiB
02_narrowrnd_large_01.txt WA 82 ms 580 KiB
02_narrowrnd_small_00.txt WA 11 ms 584 KiB
02_narrowrnd_small_01.txt WA 11 ms 584 KiB
03_zigzag_large_00.txt WA 71 ms 576 KiB
03_zigzag_small_00.txt TLE 2024 ms 232 KiB
04_middle_large_00.txt WA 82 ms 576 KiB
04_middle_large_01.txt WA 82 ms 576 KiB
04_middle_large_02.txt WA 79 ms 584 KiB
04_middle_small_00.txt WA 11 ms 0 KiB
04_middle_small_01.txt WA 11 ms 580 KiB
04_middle_small_02.txt WA 11 ms 128 KiB
05_turnleft_large_00.txt WA 76 ms 576 KiB
05_turnleft_small_00.txt WA 11 ms 588 KiB
06_turnright_large_00.txt WA 79 ms 252 KiB
06_turnright_small_00.txt WA 11 ms 0 KiB
07_free_large_00.txt AC 73 ms 284 KiB
07_free_small_00.txt AC 11 ms 0 KiB