| Task: | Kasat |
| Sender: | |
| Submission time: | 2015-09-11 16:57:24 +0300 |
| Language: | Python3 |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.08 s | 1 | details |
| #2 | WRONG ANSWER | 0.10 s | 2 | details |
| #3 | WRONG ANSWER | 0.08 s | 3 | details |
Code
#!/usr/bin/env python3
def laske(a, b, c, n):
a, b, c = sorted((a, b, c))
pienin_ero = min(c - b, b - a)
if n <= pienin_ero:
return a + n, b, c - n
a, b, c = (a + pienin_ero), b, (c - pienin_ero)
n -= pienin_ero
# riittääkö tasoitukseen?
ero = max(b, c) - min(a, b)
if ero <= n:
# riittää
pienin = (a + b + c) // 3
jakoj = (a + b + c) % 3
a, b, c = pienin, pienin, pienin
if jakoj > 0:
c += 1
if jakoj > 1:
b += 1
n -= ero
if n % 2:
a, b, c = a - 1, b, c + 1
else:
# print('ei riitä')
# ei riitä
if a == b:
if n % 2 == 0:
a, b, c = a + n // 2, b + n // 2, c - n
else:
a, b, c = a + n // 2, b + n // 2 + 1, c - n
else:
# b == c
ero = b - a
if n % 2 == 0:
a, b, c = a + n, b - n // 2, c - n // 2
else:
a, b, c = a + n, b - n // 2 - 1, c - n // 2
return (a, b, c)
def main():
for i in range(int(input())):
a, b, c, n = map(int, input().strip().split())
print('%d %d %d' % laske(a, b, c, n))
if __name__ == '__main__':
main()
Test details
Test 1
Group: 1
Verdict: WRONG ANSWER
| input |
|---|
| 1000 7 69 64 45 37 5 30 81 50 49 37 38 46 37 100 6 ... |
| correct output |
|---|
| 46 47 47 24 24 24 45 45 46 43 46 94 32 32 33 ... |
| user output |
|---|
| 52 44 44 24 24 24 45 45 46 43 46 94 31 32 34 ... |
Test 2
Group: 2
Verdict: WRONG ANSWER
| input |
|---|
| 1000 19 13 88 978977859 67 57 39 960003440 81 16 67 971611942 92 96 2 957979201 ... |
| correct output |
|---|
| 39 40 41 54 54 55 54 55 55 63 63 64 36 37 38 ... |
| user output |
|---|
| 40 40 40 54 54 55 53 55 56 62 63 65 37 37 37 ... |
Test 3
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 1000 211358104 753479603 549127067 ... |
| correct output |
|---|
| 504654924 504654925 504654925 589019272 589019272 589019273 101309993 101309994 101309994 436205296 436205297 436205298 351062567 351062568 351062568 ... |
| user output |
|---|
| 504654924 504654925 504654925 589019272 589019272 589019273 101309993 101309994 101309994 436205296 436205297 436205298 351062566 351062568 351062569 ... |
