Submission #4064828
Source Code Expand
def main(N,Y): # type: (int, int) -> None """ 次の方程式 x + y + z = N 10x + 5y + z = Y の解を探索する.zを消去すると 9x + 4y = Y - N where x >= 0 y >= 0 x + y <= N w = 2x+y と置くと x + 4w = Y - N where x >= 0 w >= 0 w - x <= N xを消去すると条件は w >= 0 4w <= Y - N 5w <= Y 9w >= 2(Y - N) であり x = Y - N - 4w y = w - 2x z = N - x - y wを適当にboundした後は x>=0 and y>=0 and z >= 0 でfilteringするのが安心だが 練習のために w のみでfilteringしてみる """ Y = Y // 1000 lb = (2*(Y-N)-1) // 9 + 1 ub = min ((Y-N) // 4, Y // 5) ans = [ (x,y,z) for w in range(lb,ub+1) for x in [Y-N-4*w] for y in [w - 2*x] for z in [N - x - y] ] if ans == []: print("-1 -1 -1") else: x,y,z = ans[0] print("{0} {1} {2}".format(x,y,z)) return if __name__ == '__main__': N, Y, *_ = map(int, input().split()) main(N,Y)
Submission Info
Submission Time | |
---|---|
Task | C - Otoshidama |
User | hogeyama |
Language | Python (3.4.3) |
Score | 300 |
Code Size | 1156 Byte |
Status | AC |
Exec Time | 18 ms |
Memory | 3064 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | a01, a02, a03, a04 |
All | a01, a02, a03, a04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
a01 | AC | 18 ms | 3064 KB |
a02 | AC | 18 ms | 3064 KB |
a03 | AC | 18 ms | 3064 KB |
a04 | AC | 18 ms | 3064 KB |
b05 | AC | 18 ms | 3064 KB |
b06 | AC | 18 ms | 3064 KB |
b07 | AC | 18 ms | 3064 KB |
b08 | AC | 18 ms | 3064 KB |
b09 | AC | 18 ms | 3064 KB |
b10 | AC | 18 ms | 3064 KB |
b11 | AC | 18 ms | 3064 KB |
b12 | AC | 18 ms | 3064 KB |
b13 | AC | 18 ms | 3064 KB |
b14 | AC | 18 ms | 3064 KB |
b15 | AC | 18 ms | 3064 KB |
b16 | AC | 18 ms | 3064 KB |
b17 | AC | 18 ms | 3064 KB |
b18 | AC | 18 ms | 3064 KB |
b19 | AC | 18 ms | 3064 KB |
b20 | AC | 18 ms | 3064 KB |
b21 | AC | 18 ms | 3064 KB |
b22 | AC | 18 ms | 3064 KB |
b23 | AC | 18 ms | 3064 KB |
b24 | AC | 18 ms | 3064 KB |