• POJ 3863 Business Center


    Business Center

    Time Limit: 1000ms
    Memory Limit: 65536KB
    This problem will be judged on PKU. Original ID: 3863
    64-bit integer IO format: %lld      Java class name: Main
     
    International Cyber Police Corporation (ICPC) had built a new mega-tall business center to host its headquarters and to lease some space for extra profit. It has so many floors, that it is impractical to have a separate button in each of its m elevator cars for each individual floor. Instead, each elevator car has just two buttons. One button in i-th elevator car makes it move up ui floors, the other makes it move down di floors. The business center is so high, that we can ignore its height for this problem (you will never reach the top floor), but you cannot go below the ground floor. All floors are numbered by integer numbers starting from zero, zero being the ground floor. 
    You start on the ground floor of the business center. You have to choose one elevator car out of m to ride on. You cannot switch elevators cars after that. What is the lowest floor above the ground floor you can get to after you press elevator car buttons exactly n times?
     

    Input

    The first line of the input file contains two integer numbers n and m (1 <= n <= 1 000 000, 1 <= m <= 2 000) - the number of button presses and the number of elevator cars to choose from. The following m lines describe elevator cars. Each line contains two integer numbers ui and di (1 <= ui, di <= 1 000).
     

    Output

    Write to the output file a single positive integer number - the number of the lowest floor above ground floor that can be reached by one of m elevators after pressing its buttons exactly n times.
     

    Sample Input

    10 3
    15 12
    15 4
    7 12

    Sample Output

    13

    Source

     
    解题:直接搞呗。。貌似要求必须至少上一次
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 typedef long long LL;
     4 LL n,m,u,d,ret;
     5 void check() {
     6     LL tmp = (n*d+u+d)/(u+d);
     7     ret = min(ret,(u+d)*tmp - n*d);
     8 }
     9 int main() {
    10     ios::sync_with_stdio(false);
    11     cin>>n>>m;
    12     ret = INT_MAX;
    13     while(m--) {
    14         cin>>u>>d;
    15         check();
    16     }
    17     cout<<ret<<endl;
    18     return 0;
    19 }
    View Code
  • 相关阅读:
    自制凉皮
    牛人
    史记
    阅读detection
    最近的购书清单
    不要轻易挑战用户的习惯,否则会被用户打脸!
    INVEST原则的应用
    谈谈Backlog梳理活动
    要写封闭式的用户故事
    敏捷教练的八种失败角色
  • 原文地址:https://www.cnblogs.com/crackpotisback/p/4624109.html
Copyright © 2020-2023  润新知