Submission #2696188
Source Code Expand
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N; static int A; static int B; static int C; static int D; public static void main(String[] args) { FastScanner sc = new FastScanner(System.in); N = sc.nextInt(); A = sc.nextInt(); B = sc.nextInt(); C = sc.nextInt(); D = sc.nextInt(); System.out.println( solve() ? "YES" : "NO" ); } static boolean solve() { // GはgoalのG int G = Math.abs(A-B); int times = N - 1; // C*q D*q G という状態まで詰める int q = G / D; int r = G % D; times -= q; // 回数切れで届かない if( times < 0 ) return false; // ぴったりのケース(ここでやらなくてもよい気がする) if( times == 0 ) return r == 0; if( times % 2 == 0 ) { // +D -Cとすることで D-Cずつ距離を詰めることができる long available = (times / 2) * (long)(D-C); return r <= available; } else { // もう一歩進む // G C1 D1 or C1 G D1 long C1 = C * (q+1); long D1 = D * (q+1); times -= 1; // C1 <= G <= D1 の場合はそれで終了(0で足踏みすればよい) if( C1 <= G && G <= D1 ) return true; // G D1 C1 という状態なので D1からGに向かって詰めることができたらOK long r1 = D1 - G; long available = (times / 2) * (long)(D-C); return r1 <= available; } } static class FastScanner { private BufferedReader reader; private StringTokenizer tokenizer; FastScanner(InputStream in) { reader = new BufferedReader(new InputStreamReader(in)); tokenizer = null; } String next() { if (tokenizer == null || !tokenizer.hasMoreTokens()) { try { tokenizer = new StringTokenizer(reader.readLine()); } catch (IOException e) { throw new RuntimeException(e); } } return tokenizer.nextToken(); } String nextLine() { if (tokenizer == null || !tokenizer.hasMoreTokens()) { try { return reader.readLine(); } catch (IOException e) { throw new RuntimeException(e); } } return tokenizer.nextToken("\n"); } long nextLong() { return Long.parseLong(next()); } int nextInt() { return Integer.parseInt(next()); } double nextDouble() { return Double.parseDouble(next()); } int[] nextIntArray(int n) { int[] a = new int[n]; for (int i = 0; i < n; i++) a[i] = nextInt(); return a; } long[] nextLongArray(int n) { long[] a = new long[n]; for (int i = 0; i < n; i++) a[i] = nextLong(); return a; } } }
Submission Info
Submission Time | |
---|---|
Task | B - Moderate Differences |
User | kusomushi |
Language | Java8 (OpenJDK 1.8.0) |
Score | 0 |
Code Size | 3465 Byte |
Status | WA |
Exec Time | 71 ms |
Memory | 21332 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 400 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt, sample3.txt, sample4.txt |
All | sample1.txt, sample2.txt, sample3.txt, sample4.txt, a01.txt, a02.txt, a03.txt, a04.txt, b01.txt, b02.txt, b03.txt, b04.txt, c01.txt, c02.txt, c03.txt, c04.txt, d01.txt, d02.txt, d03.txt, d04.txt, d05.txt, d06.txt, d07.txt, d08.txt, d09.txt, d10.txt, d11.txt, d12.txt, d13.txt, d14.txt, d15.txt, d16.txt, d17.txt, d18.txt, sample1.txt, sample2.txt, sample3.txt, sample4.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
a01.txt | AC | 69 ms | 20948 KB |
a02.txt | AC | 68 ms | 21332 KB |
a03.txt | AC | 68 ms | 19284 KB |
a04.txt | AC | 70 ms | 16852 KB |
b01.txt | AC | 69 ms | 19028 KB |
b02.txt | AC | 69 ms | 19156 KB |
b03.txt | AC | 70 ms | 20308 KB |
b04.txt | AC | 69 ms | 21076 KB |
c01.txt | AC | 68 ms | 19284 KB |
c02.txt | AC | 69 ms | 18260 KB |
c03.txt | AC | 69 ms | 19156 KB |
c04.txt | AC | 69 ms | 19156 KB |
d01.txt | AC | 67 ms | 21332 KB |
d02.txt | AC | 71 ms | 21204 KB |
d03.txt | AC | 69 ms | 18004 KB |
d04.txt | AC | 69 ms | 19284 KB |
d05.txt | AC | 67 ms | 18004 KB |
d06.txt | AC | 69 ms | 18772 KB |
d07.txt | AC | 69 ms | 19028 KB |
d08.txt | AC | 71 ms | 20948 KB |
d09.txt | AC | 70 ms | 18644 KB |
d10.txt | AC | 70 ms | 18260 KB |
d11.txt | WA | 68 ms | 17876 KB |
d12.txt | AC | 69 ms | 18644 KB |
d13.txt | WA | 71 ms | 19028 KB |
d14.txt | AC | 68 ms | 21332 KB |
d15.txt | AC | 69 ms | 21204 KB |
d16.txt | AC | 68 ms | 19796 KB |
d17.txt | AC | 69 ms | 18260 KB |
d18.txt | AC | 70 ms | 17364 KB |
sample1.txt | AC | 69 ms | 21076 KB |
sample2.txt | AC | 70 ms | 20308 KB |
sample3.txt | AC | 69 ms | 18516 KB |
sample4.txt | AC | 68 ms | 19156 KB |