C - AtCoDeerくんと選挙速報 / AtCoDeer and Election Report
Time Limit: 2 sec / Memory Limit: 256 MB
Score : 300300 points
AtCoDeer the deer is seeing a quick report of election results on TV. Two candidates are standing for the election: Takahashi and Aoki. The report shows the ratio of the current numbers of votes the two candidates have obtained, but not the actual numbers of votes. AtCoDeer has checked the report NN times, and when he checked it for the ii-th (1≦i≦N)(1≦i≦N) time, the ratio was Ti:AiTi:Ai. It is known that each candidate had at least one vote when he checked the report for the first time.
Find the minimum possible total number of votes obtained by the two candidates when he checked the report for the NN-th time. It can be assumed that the number of votes obtained by each candidate never decreases.
The input is given from Standard Input in the following format:
NN T1T1 A1A1 T2T2 A2A2 :: TNTN ANANPrint the minimum possible total number of votes obtained by Takahashi and Aoki when AtCoDeer checked the report for the NN-th time.
Copy
3 2 3 1 1 3 2Copy
10When the numbers of votes obtained by the two candidates change as 2,3→3,3→6,42,3→3,3→6,4, the total number of votes at the end is 1010, which is the minimum possible number.
Copy
4 1 1 1 1 1 5 1 100Copy
101It is possible that neither candidate obtained a vote between the moment when he checked the report, and the moment when he checked it for the next time.
Copy
5 3 10 48 17 31 199 231 23 3 2Copy
6930
题意:
给你n时间的人数比例,算出最后的最小人数。
分析:
一个简单思维题,
a b
a1 b1
只要保证a1*x>=a b1*x>=b即可
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input=new Scanner( System.in); long n=input.nextLong(); long a=input.nextLong(); long b=input.nextLong(); for(int i=1;i<n;i++) { // System.out.println("s:"+a+" "+b); long a1=input.nextLong(); long b1=input.nextLong(); if(a1>=a&&b1>=b) { a=a1; b=b1; continue; } long d1=a/a1; if(a