zoukankan      html  css  js  c++  java
  • Codeforces Round #464 (Div. 2) B. Hamster Farm[盒子装仓鼠/余数]

    B. Hamster Farm
    time limit per test
    2 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Dima has a hamsters farm. Soon N hamsters will grow up on it and Dima will sell them in a city nearby.

    Hamsters should be transported in boxes. If some box is not completely full, the hamsters in it are bored, that's why each box should be completely full with hamsters.

    Dima can buy boxes at a factory. The factory produces boxes of K kinds, boxes of the i-th kind can contain in themselves ai hamsters. Dima can buy any amount of boxes, but he should buy boxes of only one kind to get a wholesale discount.

    Of course, Dima would buy boxes in such a way that each box can be completely filled with hamsters and transported to the city. If there is no place for some hamsters, Dima will leave them on the farm.

    Find out how many boxes and of which type should Dima buy to transport maximum number of hamsters.

    Input

    The first line contains two integers N and K (0 ≤ N ≤ 1018, 1 ≤ K ≤ 105) — the number of hamsters that will grow up on Dima's farm and the number of types of boxes that the factory produces.

    The second line contains K integers a1, a2, ..., aK (1 ≤ ai ≤ 1018 for all i) — the capacities of boxes.

    Output

    Output two integers: the type of boxes that Dima should buy and the number of boxes of that type Dima should buy. Types of boxes are numbered from 1 to K in the order they are given in input.

    If there are many correct answers, output any of them.

    Examples
    Input
    Copy
    19 3
    5 4 10
    Output
    2 4
    Input
    Copy
    28 3
    5 6 30
    Output
    1 5

    [题意]:

    Dima有n 只仓鼠,有k 种盒子,每种盒子编号为1~k,可以装ai 只仓鼠,所有盒子都要装满仓鼠,剩下的仓鼠不装,Dima想让剩下的仓鼠最少,求应选盒子和盒子总数,如果有多种情况,输出任意一种。

    输入格式:第一行为n和k,第二行为a1,a2,,ak

    输出格式:一行,两个整数,表示应选盒子种类的编号和盒子总数。

    [分析]:先找到n%a[i]的最小值,再根据最小值找pos=i+1; num=n/a[i]编号、数量.

    [代码]:

    #include<bits/stdc++.h>
    
    using namespace std;
    const int maxn = 1e5+10;
    const long long inf=1e18+50;
    #define ll long long
    int main()
    {
        ll n,k,a[maxn],pos,num,mi;
        cin>>n>>k;
            mi=inf;
            for(ll i=0;i<k;i++){
                cin>>a[i];
                mi=min(mi,n%a[i]);
            }
    
            for(ll i=0;i<k;i++){
                if(n%a[i]==mi){
                    pos=i+1;
                    num=n/a[i];
                }
        }
        cout<<pos<<" "<<num<<endl;
    
    }
    View Code
  • 相关阅读:
    一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
    java: Compilation failed: internal java compiler error
    新建IEDA项目,运行跳出页面404
    windows版 nvm 1.1.7 安装(填坑)
    向量法求三角形垂点
    error C4430:missing type specifier 解决错误
    QML 从无到有 3 (自动更新)
    QML 从无到有 2 (移动适配)
    QML 从无到有 (基础)
    c++ builder 2010 错误 F1004 Internal compiler error at 0x9740d99 with base 0x9
  • 原文地址:https://www.cnblogs.com/Roni-i/p/8467580.html
Copyright © 2011-2022 走看看