Submission #1494892


Source Code Expand

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Math;
using static System.Console;
using static CS_Contest.Utils;

namespace CS_Contest {
	using Li = List<int>;
	using LLi = List<List<int>>;
	class Program {
        static void Main(string[] args) {
			new Calc().Solve();
			return;
        }

		private class Calc {
			public void Solve() {
				int N = ReadInt();
				var items = ReadLong(' ');
				long t = items[0], a = items[1];
				REP(N-1, x => {
					var TA = ReadInt(' ');
					if (TA[0] >= t && TA[1] >= a) {
						t = TA[0];a = TA[1];
					}
					else {
						long k = Max((t + TA[0] - 1) / TA[0], (a + TA[1] - 1) / TA[1]);
						t = k * TA[0]; a = k * TA[1];
					}
				});
				(t + a).WL();
				return;
			}
		}
    }

	
	
    public static class Utils {
		public static int INF = (int)(1e9);
        public static void WL(this object obj) => WriteLine(obj);
        public static void WL(this string obj) => WriteLine(obj);
        public static void WL<T>(this IEnumerable<T> list) => list.ToList().ForEach(x => x.WL());
		public static int ReadInt() => int.Parse(ReadLine());
		public static List<int> ReadInt(char s) => ReadLine().Split(s).Select(int.Parse).ToList();
		public static long ReadLong() => long.Parse(ReadLine());
		public static List<long> ReadLong(char s) => ReadLine().Split(s).Select(long.Parse).ToList();
		public static void REP(int n,Action<int> act) {
			for (int i = 0; i < n; i++) {
				act(i);
			}
		}
		public static void RREP(int n,Action<int> act) {
			for (int i = n-1; i >=0; i--) {
				act(i);
			}
		}
		public static void REP(long n, Action<int> act) => REP((int)n, act);
		public static void RREP(long n, Action<int> act) => RREP((int)n, act);

		public static void Yes() => "Yes".WL();
		public static void No() => "No".WL();
		public static void YES() => "YES".WL();
		public static void NO() => "NO".WL();


		public static int ManhattanDistance(int x1, int y1, int x2, int y2) => Abs(x2 - x1) + Abs(y2 - y1);

		public class Tree {
			public LLi Graph;
			public Tree(int nodes) {
				Graph = new LLi();
				REP(nodes, x => {
					Graph.Add(new Li());
				});
			}
			public void Add(int x,int y) {
				Graph[x].Add(y);
				Graph[y].Add(x);
			}
		}
    }
}

Submission Info

Submission Time
Task C - AtCoDeer and Election Report
User xztaityozx
Language C# (Mono 4.6.2.0)
Score 300
Code Size 2387 Byte
Status AC
Exec Time 26 ms
Memory 11348 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 15
Set Name Test Cases
Sample 0_000.txt, 0_001.txt, 0_002.txt
All 0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt
Case Name Status Exec Time Memory
0_000.txt AC 24 ms 9300 KB
0_001.txt AC 25 ms 11348 KB
0_002.txt AC 25 ms 11348 KB
1_003.txt AC 24 ms 11348 KB
1_004.txt AC 25 ms 11348 KB
1_005.txt AC 25 ms 11348 KB
1_006.txt AC 25 ms 9300 KB
1_007.txt AC 25 ms 9300 KB
1_008.txt AC 25 ms 9300 KB
1_009.txt AC 25 ms 9300 KB
1_010.txt AC 25 ms 11348 KB
1_011.txt AC 25 ms 11348 KB
1_012.txt AC 25 ms 11348 KB
1_013.txt AC 26 ms 11348 KB
1_014.txt AC 26 ms 11348 KB