static void Main(string[] args) { #if DEBUG var scanner = new IO.StreamScanner(File.Open("input.txt", FileMode.Open)); #else var scanner = new IO.StreamScanner(Console.OpenStandardInput()); #endif var n = scanner.Integer(); var fs = new List <int[]>(); var ps = new List <int[]>(); for (int i = 0; i < n; i++) { fs.Add(scanner.ScanLine().Split().Select(v => int.Parse(v)).ToArray()); } for (int i = 0; i < n; i++) { ps.Add(scanner.ScanLine().Split().Select(v => int.Parse(v)).ToArray()); } var ret = long.MinValue; for (int flg = 1; flg < 1 << 10; flg++) { ret = Math.Max(ret, GetAns(n, fs, ps, flg)); } IO.Printer.Out.WriteLine(ret); IO.Printer.Out.Flush(); }
static void Main(string[] args) { #if DEBUG var scanner = new IO.StreamScanner(File.Open("input.txt", FileMode.Open)); #else var scanner = new IO.StreamScanner(Console.OpenStandardInput()); #endif var n = scanner.Integer(); var a = scanner.ScanLine().Split().Select(v => int.Parse(v)).ToList(); var colors = new int[9]; foreach (var v in a) { colors[(v / 400 > 8) ? 8 : v / 400]++; } var num = 0; for (int i = 0; i < 8; i++) { if (colors[i] > 0) { num++; } } var minNum = num > 0 ? num : 1; var maxNum = num + colors[8]; IO.Printer.Out.WriteLine(minNum + " " + maxNum); IO.Printer.Out.Flush(); }
static void Main(string[] args) { #if DEBUG var scanner = new IO.StreamScanner(File.Open("input.txt", FileMode.Open)); #else var scanner = new IO.StreamScanner(Console.OpenStandardInput()); #endif var n = scanner.Integer(); var a = scanner.ScanLine().Split().Select(v => long.Parse(v)).ToList(); var ret = 0L; var cnt = 0; a.Sort(); var idx = a.Count() - 2; while (cnt < n) { ret += a[idx]; idx -= 2; cnt++; } IO.Printer.Out.WriteLine(ret); IO.Printer.Out.Flush(); }
static void Main(string[] args) { #if DEBUG var scanner = new IO.StreamScanner(File.Open("input.txt", FileMode.Open)); #else var scanner = new IO.StreamScanner(Console.OpenStandardInput()); #endif var n = scanner.Integer(); var ss = new List <string>(); for (int i = 0; i < n; i++) { ss.Add(scanner.ScanLine()); } var strsDict = new Dictionary <char, int>(); foreach (var s in ss) { if (!"MARCH".Contains(s[0])) { continue; } if (!strsDict.ContainsKey(s[0])) { strsDict.Add(s[0], 0); } strsDict[s[0]]++; } var ret = 0L; var combi = new List <char[]>(); var array = "MARCH".ToCharArray(); GetPermutation(ref combi, array, 0, array.Length - 1); var allCombi = new HashSet <string>(); foreach (var c in combi) { allCombi.Add(new string(c.Take(3).OrderBy(d => d).ToArray())); } foreach (var ptn in allCombi.ToList()) { if (!strsDict.ContainsKey(ptn[0]) || !strsDict.ContainsKey(ptn[1]) || !strsDict.ContainsKey(ptn[2])) { continue; } ret += ((long)strsDict[ptn[0]] * (long)strsDict[ptn[1]] * (long)strsDict[ptn[2]]); } IO.Printer.Out.WriteLine(ret); IO.Printer.Out.Flush(); }
static void Main(string[] args) { #if DEBUG var scanner = new IO.StreamScanner(File.Open("input.txt", FileMode.Open)); #else var scanner = new IO.StreamScanner(Console.OpenStandardInput()); #endif var n = scanner.Integer(); var c = scanner.Integer(); var ds = new List <List <int> >(); for (int i = 0; i < c; i++) { ds.Add(scanner.ScanLine().Split().Select(v => int.Parse(v)).ToList()); } var grid = new List <List <int> >(); for (int i = 0; i < n; i++) { grid.Add(scanner.ScanLine().Split().Select(v => int.Parse(v)).ToList()); } IO.Printer.Out.WriteLine(GetAns(n, c, ds, grid)); IO.Printer.Out.Flush(); }
static void Main(string[] args) { #if DEBUG var scanner = new IO.StreamScanner(File.Open("input.txt", FileMode.Open)); #else var scanner = new IO.StreamScanner(Console.OpenStandardInput()); #endif var n = scanner.Integer(); var a = scanner.ScanLine().Split().Select(v => int.Parse(v)).ToList(); var ret = int.MinValue; for (int i = 0; i < a.Count(); i++) { var aScore = int.MinValue; var aIdx = -1; for (int j = 0; j < a.Count(); j++) { if (i == j) { continue; } var newAScore = 0; for (int k = Math.Min(i, j); k <= Math.Max(i, j); k++) { if ((k - Math.Min(i, j)) % 2 == 1) { newAScore += a[k]; } } if (newAScore > aScore) { aScore = newAScore; aIdx = j; } } var tScore = 0; for (int j = Math.Min(i, aIdx); j <= Math.Max(i, aIdx); j++) { if ((j - Math.Min(i, aIdx)) % 2 == 0) { tScore += a[j]; } } ret = Math.Max(ret, tScore); } IO.Printer.Out.WriteLine(ret); IO.Printer.Out.Flush(); }
static void Main(string[] args) { #if DEBUG var scanner = new IO.StreamScanner(File.Open("input.txt", FileMode.Open)); #else var scanner = new IO.StreamScanner(Console.OpenStandardInput()); #endif var n = scanner.Integer(); var m = scanner.Integer(); var x = scanner.Integer(); var y = scanner.Integer(); var a = scanner.ScanLine().Split().Select(v => int.Parse(v)).ToList(); var b = scanner.ScanLine().Split().Select(v => int.Parse(v)).ToList(); var ret = 0; var cur = true; var curPos = 0; while (true) { var tgt = cur ? a : b; var lb = LowerBound(tgt, curPos); if (lb >= tgt.Count()) { break; } curPos = tgt[lb] + (cur ? x : y); if (tgt == b) { ret++; } cur = !cur; } IO.Printer.Out.WriteLine(ret); IO.Printer.Out.Flush(); }
static void Main(string[] args) { #if DEBUG var scanner = new IO.StreamScanner(File.Open("input.txt", FileMode.Open)); #else var scanner = new IO.StreamScanner(Console.OpenStandardInput()); #endif var n = scanner.Integer(); var s = scanner.ScanLine(); IO.Printer.Out.WriteLine(GetAns(s)); IO.Printer.Out.Flush(); }
static void Main(string[] args) { #if DEBUG var scanner = new IO.StreamScanner(File.Open("input.txt", FileMode.Open)); #else var scanner = new IO.StreamScanner(Console.OpenStandardInput()); #endif var c1 = scanner.ScanLine().Split().Select(v => int.Parse(v)).ToList(); var c2 = scanner.ScanLine().Split().Select(v => int.Parse(v)).ToList(); var c3 = scanner.ScanLine().Split().Select(v => int.Parse(v)).ToList(); var ans = false; for (var a1 = -100; !ans && a1 <= 100; a1++) { for (var a2 = -100; !ans && a2 <= 100; a2++) { var b1 = GetBs(a1, c1); var b2 = GetBs(a2, c2); if (Same(b1, b2)) { for (var a3 = -100; !ans && a3 <= 100; a3++) { var b3 = GetBs(a3, c3); if (Same(b2, b3)) { ans = true; } } } } } IO.Printer.Out.WriteLine(ans ? "Yes" : "No"); IO.Printer.Out.Flush(); }
static void Main(string[] args) { #if DEBUG var scanner = new IO.StreamScanner(File.Open("input.txt", FileMode.Open)); #else var scanner = new IO.StreamScanner(Console.OpenStandardInput()); #endif var n = scanner.Integer(); var m = scanner.Integer(); var p = scanner.ScanLine().Split().Select(v => int.Parse(v)).ToList(); var pairs = new List <Tuple <int, int> >(); for (int i = 0; i < m; i++) { pairs.Add(new Tuple <int, int>(scanner.Integer(), scanner.Integer())); } IO.Printer.Out.WriteLine(GetAns(n, m, p, pairs)); IO.Printer.Out.Flush(); }
static void Main(string[] args) { #if DEBUG var scanner = new IO.StreamScanner(File.Open("input.txt", FileMode.Open)); #else var scanner = new IO.StreamScanner(Console.OpenStandardInput()); #endif var s = scanner.ScanLine().Select(v => int.Parse(v.ToString())).ToArray(); var ret = 0; for (int i = 0; i < s.Length; i++) { ret += i == 0 ? s[i] - 1 : 9; } IO.Printer.Out.WriteLine(Math.Max(s.Sum(), ret)); IO.Printer.Out.Flush(); }
static void Main(string[] args) { #if DEBUG var scanner = new IO.StreamScanner(File.Open("input.txt", FileMode.Open)); #else var scanner = new IO.StreamScanner(Console.OpenStandardInput()); #endif var s = scanner.ScanLine(); var ret = ""; var used = new HashSet <char>(s); var add = Enumerable.Range(0, 26).Select(v => (char?)('a' + v)).FirstOrDefault(c => !used.Contains(c.Value)); if (add == null) { ret = GetAns(s); } else { ret = s + add.Value; } IO.Printer.Out.WriteLine(ret); IO.Printer.Out.Flush(); }