Python input/output boilerplate for competitive programming

The following code is my submission for Codeforces 1244C The Football Season.

import io
import sys
import math

def inverse(a, m):
    u = 0
    v = 1
    while a != 0:
        t = m // a
        m -= t * a
        a, m = m, a
        u -= t * v
        u, v = v, u
    assert m == 1
    return u

def main():
    # It helps to use a input file when testing or debugging your code locally.
    # with open("main.in", "r", encoding='utf-8') as f:
    with sys.stdin as f:
        n, p, w, d = map(int, f.readline().split())
        g = math.gcd(w, d)
        if p % g:
            print(-1)
            return
        W = w // g
        D = d // g
        x = inverse(W, D)
        y = (1 - W * x) // D
        assert W * x + D * y == 1
        m = p // g
        x *= m
        y *= m
        ub = min(x // D, (n - x - y) // (W - D))
        lb = (-y + W - 1) // W
        if lb > ub:
            print(-1)
            return
        X = x - lb * D
        Y = y + lb * W
        assert X >= 0 and Y >= 0 and X * w + Y * d == p and X + Y <= n
        print(X, Y, n - X - Y)
main()

Notes:

  1. // does floor divison in Python.

原文地址:https://www.cnblogs.com/Patt/p/11669251.html

时间: 2024-10-11 21:33:55

Python input/output boilerplate for competitive programming的相关文章

数据库服务器Input/output error (故障20170122)

描述: 数据库系统出现告警,登陆查看使用系统命令报错,提示Input/output error 模拟故障处理过程: 检查文件系统时,该文件系统必须卸载.当出现错误时fsck会提示是否修复, 可以用-y参数:不提示是否修复 fsck - check and repair a Linux file system # df -h Filesystem            Size  Used Avail Use% Mounted on /dev/mapper/vg_mysql80-lv_root 2

解决NGINX+PHP-FPM failed to ptrace(PEEKDATA) Input/output error出错问题

网站总是出现bad gateway 提示,时有,时无,查看了一下日志,居然出现一堆错误,如下 [29-Mar-2014 22:40:10] ERROR: failed to ptrace(PEEKDATA) pid 4276: Input/output error (5) [29-Mar-2014 22:53:54] ERROR: failed to ptrace(PEEKDATA) pid 4319: Input/output error (5) [29-Mar-2014 22:56:30]

解决ubuntu挂载NTFS磁盘时出现input/output error

错误内容如下: Error mounting: mount exited with exit code 13: ntfs_attr_pread_i: ntfs_pread failed: Input/output error Failed to read NTFS $Bitmap: Input/output error NTFS is either inconsistent, or there is a hardware fault, or it's a SoftRAID/FakeRAID ha

Input/output subsystem having an integrated advanced programmable interrupt controller for use in a personal computer

A computer system is described having one or more host processors, a host chipset and an input/output (I/O) subsystem. The host processors are connected to the host chipset by a host bus. The host chipset is connected to the input/output subsystem by

黑马程序员——java基础---IO(input output)流字符流

黑马程序员——java基础---IO(input output)流字符流 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- io(input output)流特点: 1,io流用来处理数据之间的传输 2,java对数据的操作是通过流的方式: 3,java用于操作流的对象都在io包中: 4,流按操作数据分为两种:字节流和字符流: 5,流按流向分为:输入流和输出流. 注意:流只能操作数据,而不能操作文件. 3.IO流的常用基类: 1)字节流的抽象

html5 填表 表单 input output 与表单验证

1.<output>     Js计算结果 <form oninput="res.value = num1.valueAsNumber*num2.valueAsNumber"> <input type="number" id="num1"> X            <!-- 没有闭合</input> --> <input type="number" id=&q

Linux下“read failed after 0 of 4096 at 0: Input/output error”

1.故障描述( 在线移除一块被设置为pv格式的硬盘,提示unknown device报道):/dev/sdb1 /dev/sdc1 /dev/sdd1是组成/dev/vg_test/lvm_test的PV,这里我们模拟/dev/sdd1硬盘被直接断电了 [[email protected] mnt]# pvdisplay    /dev/sdd: read failed after 0 of 4096 at 0: Input/output error   /dev/sdd: read faile

JAVA学习分享Input Output

IO(Input  Output)流 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 流按操作数据分为两种:字节流与字符流. 流按流向分为:输入流,输出流. IO流常用基类 字节流的抽象基类: InputStream ,OutputStream. 字符流的抽象基类: Reader , Writer. 注:由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀. (InputStream的子类FileInputStream.) (Re

Python input 和 raw_input的区别

转载[http://www.pythonclub.org/python-basic/input] 使用input 和 raw_input 都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的: 1. 当输入为纯数字输入时: input返回的是数值类型,如 int float raw_input返回的是字符串类型 2. 当输入字符串为表达式时: input会计算字符串中的数字表达式,而raw_input不会 如输入“57+3”: input会得整数60 raw_inpu