zoukankan      html  css  js  c++  java
  • Borya's Diagnosis Codeforces 879A Round #443 Div.2 贪心 模拟

    根据题意模拟即可,由于必须【按顺序见医生】,所以要在当前应该见的医生的工作日中,选择一个大于见上一个医生的时间的最小时间(贪心思想),更新答案即可。

     1 #include<cstdio>
     2 using namespace std;
     3 template<class T> inline void read(T &_a){
     4     bool f=0;int _ch=getchar();_a=0;
     5     while(_ch<'0' || _ch>'9'){if(_ch=='-')f=1;_ch=getchar();}
     6     while(_ch>='0' && _ch<='9'){_a=(_a<<1)+(_a<<3)+_ch-'0';_ch=getchar();}
     7     if(f)_a=-_a;
     8 }
     9 
    10 const int maxn=1001;
    11 int n,s[maxn],d[maxn],ans;
    12 
    13 int main()
    14 {
    15     read(n);
    16     for (register int i=1;i<=n;++i) read(s[i]),read(d[i]);
    17     for (register int i=1;i<=n;++i)
    18     {
    19         for (register int v=0;;++v)
    20         {
    21             if(s[i]+v*d[i]>ans)
    22             {
    23 
    24                 ans=s[i]+v*d[i];
    25                 break;
    26             }
    27         }
    28     }
    29     printf("%d",ans);
    30     return 0;
    31 }
    View Code
    It seems that Borya is seriously sick. He is going visit n doctors to find out the exact diagnosis. Each of the doctors needs the information about all previous visits, so Borya has to visit them in the prescribed order (i.e. Borya should first visit doctor 1, then doctor 2, then doctor 3and so on). Borya will get the information about his health from the last doctor.

    Doctors have a strange working schedule. The doctor i goes to work on the si-th day and works every di day. So, he works on days si, si + di, si + 2di, ....

    The doctor's appointment takes quite a long time, so Borya can not see more than one doctor per day. What is the minimum time he needs to visit all doctors?

    Input

    First line contains an integer n — number of doctors (1 ≤ n ≤ 1000).

    Next n lines contain two numbers si and di (1 ≤ si, di ≤ 1000).

    Output

    Output a single integer — the minimum day at which Borya can visit the last doctor.

    Examples
    input
    3
    2 2
    1 2
    2 2
    output
    4
    input
    2
    10 1
    6 5
    output
    11
    Note

    In the first sample case, Borya can visit all doctors on days 2, 3 and 4.

    In the second sample case, Borya can visit all doctors on days 10 and 11.

  • 相关阅读:
    VUE第一个项目怎么读懂
    Excel催化剂开源第33波-Quick Bible For PPT插件项目全代码开源
    [iOS基础控件
    awk支持多个记录分隔符的写法
    关于awk中NR、FNR、NF、$NF、FS、OFS的说明
    测试开发CICD——Docker——docker安装nginx
    测试开发CICD——Docker——docker安装python3.5
    测试开发CICD——Docker——docker安装tomcat
    测试开发CICD——Docker——docker安装redis
    测试开发CICD——Docker——docker安装mysql
  • 原文地址:https://www.cnblogs.com/jaywang/p/7741057.html
Copyright © 2011-2022 走看看