Submission #8873780
Source Code Expand
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
from fractions import gcd
N,X,D = map(int,read().split())
if D == 0:
if X == 0:
print(1)
else:
print(N+1)
exit()
g = gcd(X,D)
X //= g; D //= g
if D < 0:
X,D = -X,-D
def F(d):
# Xの個数 = d mod Dのとき
event = []
for n in range(d,N+1,D):
# Xがn個
low = X * n // D + n * (n-1) // 2
high = X * n // D + n * (N+N-n-1) // 2
event.append((low,0))
event.append((high,1))
event.sort()
overlap = 0
left_end = 0
cnt = 0
for x,t in event:
if not t:
if not overlap:
left_end = x
overlap += 1
else:
overlap -= 1
if not overlap:
cnt += x - left_end + 1
return cnt
answer = sum(F(d) for d in range(min(D,N+1)))
print(answer)
Submission Info
| Submission Time | |
|---|---|
| Task | F - Sum Difference |
| User | maspy |
| Language | Python (3.4.3) |
| Score | 600 |
| Code Size | 989 Byte |
| Status | AC |
| Exec Time | 520 ms |
| Memory | 49752 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | s1.txt, s2.txt, s3.txt |
| All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, s1.txt, s2.txt, s3.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01.txt | AC | 36 ms | 5072 KiB |
| 02.txt | AC | 35 ms | 5072 KiB |
| 03.txt | AC | 35 ms | 5072 KiB |
| 04.txt | AC | 35 ms | 5072 KiB |
| 05.txt | AC | 35 ms | 5072 KiB |
| 06.txt | AC | 36 ms | 5072 KiB |
| 07.txt | AC | 35 ms | 5072 KiB |
| 08.txt | AC | 35 ms | 5072 KiB |
| 09.txt | AC | 35 ms | 5072 KiB |
| 10.txt | AC | 35 ms | 5072 KiB |
| 11.txt | AC | 35 ms | 5072 KiB |
| 12.txt | AC | 35 ms | 5072 KiB |
| 13.txt | AC | 35 ms | 5072 KiB |
| 14.txt | AC | 35 ms | 5072 KiB |
| 15.txt | AC | 35 ms | 5072 KiB |
| 16.txt | AC | 35 ms | 5072 KiB |
| 17.txt | AC | 35 ms | 5072 KiB |
| 18.txt | AC | 36 ms | 5072 KiB |
| 19.txt | AC | 35 ms | 5072 KiB |
| 20.txt | AC | 35 ms | 5072 KiB |
| 21.txt | AC | 36 ms | 5072 KiB |
| 22.txt | AC | 36 ms | 5072 KiB |
| 23.txt | AC | 365 ms | 5072 KiB |
| 24.txt | AC | 378 ms | 5072 KiB |
| 25.txt | AC | 322 ms | 5072 KiB |
| 26.txt | AC | 418 ms | 5072 KiB |
| 27.txt | AC | 308 ms | 5072 KiB |
| 28.txt | AC | 520 ms | 5072 KiB |
| 29.txt | AC | 493 ms | 5072 KiB |
| 30.txt | AC | 516 ms | 5072 KiB |
| 31.txt | AC | 386 ms | 5072 KiB |
| 32.txt | AC | 339 ms | 5072 KiB |
| 33.txt | AC | 319 ms | 5108 KiB |
| 34.txt | AC | 305 ms | 5108 KiB |
| 35.txt | AC | 332 ms | 6260 KiB |
| 36.txt | AC | 357 ms | 49752 KiB |
| 37.txt | AC | 349 ms | 12788 KiB |
| 38.txt | AC | 358 ms | 16244 KiB |
| 39.txt | AC | 373 ms | 7188 KiB |
| 40.txt | AC | 372 ms | 47940 KiB |
| 41.txt | AC | 339 ms | 13940 KiB |
| 42.txt | AC | 346 ms | 7264 KiB |
| 43.txt | AC | 339 ms | 12508 KiB |
| 44.txt | AC | 356 ms | 46936 KiB |
| 45.txt | AC | 345 ms | 8660 KiB |
| 46.txt | AC | 478 ms | 5072 KiB |
| 47.txt | AC | 492 ms | 5072 KiB |
| 48.txt | AC | 36 ms | 5072 KiB |
| s1.txt | AC | 35 ms | 5072 KiB |
| s2.txt | AC | 35 ms | 5072 KiB |
| s3.txt | AC | 36 ms | 5072 KiB |