提出 #44732908


ソースコード 拡げる

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Numerics;

namespace Tasks;

public class C
{
    public static void Main()
    {
        using var sw = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false };
        Console.SetOut(sw);
        Solve();
        Console.Out.Flush();
    }

    public static void Solve()
    {
        var N = Scanner.Scan<int>();
        var iceCreams = new (int N, long S)[N];
        var S = new Dictionary<long, Dictionary<int, int>>();
        var queue = new PriorityQueue<(int F, long S), long>();
        for (var i = 0; i < N; i++)
        {
            var (f, s) = Scanner.Scan<int, long>();
            iceCreams[i] = (f, s);
            queue.Enqueue((f, s), -s);
        }

        var count = new int[N + 1];
        var same = new long[N + 1];
        long d = 0;
        long df = -1;
        var flag = false;
        while (queue.TryDequeue(out var top, out _))
        {
            var (f, s) = top;
            if (!flag)
            {
                if (df == -1)
                {
                    d = s;
                    df = f;
                }
                else if (df != f)
                {
                    d += s;
                    flag = true;
                }
            }

            if (count[f] == 0)
            {
                count[f]++;
                same[f] += s;
            }
            else if (count[f] == 1)
            {
                count[f]++;
                same[f] += s / 2;
            }
        }

        var answer = d;
        for (var i = 0; i <= N; i++)
        {
            answer = Math.Max(answer, same[i]);
        }

        Console.WriteLine(answer);
    }

    public static class Scanner
    {
        public static T Scan<T>() where T : IConvertible => Convert<T>(ScanStringArray()[0]);
        public static (T1, T2) Scan<T1, T2>() where T1 : IConvertible where T2 : IConvertible
        {
            var input = ScanStringArray();
            return (Convert<T1>(input[0]), Convert<T2>(input[1]));
        }
        public static (T1, T2, T3) Scan<T1, T2, T3>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible
        {
            var input = ScanStringArray();
            return (Convert<T1>(input[0]), Convert<T2>(input[1]), Convert<T3>(input[2]));
        }
        public static (T1, T2, T3, T4) Scan<T1, T2, T3, T4>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible
        {
            var input = ScanStringArray();
            return (Convert<T1>(input[0]), Convert<T2>(input[1]), Convert<T3>(input[2]), Convert<T4>(input[3]));
        }
        public static (T1, T2, T3, T4, T5) Scan<T1, T2, T3, T4, T5>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible where T5 : IConvertible
        {
            var input = ScanStringArray();
            return (Convert<T1>(input[0]), Convert<T2>(input[1]), Convert<T3>(input[2]), Convert<T4>(input[3]), Convert<T5>(input[4]));
        }
        public static (T1, T2, T3, T4, T5, T6) Scan<T1, T2, T3, T4, T5, T6>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible where T5 : IConvertible where T6 : IConvertible
        {
            var input = ScanStringArray();
            return (Convert<T1>(input[0]), Convert<T2>(input[1]), Convert<T3>(input[2]), Convert<T4>(input[3]), Convert<T5>(input[4]), Convert<T6>(input[5]));
        }
        public static IEnumerable<T> ScanEnumerable<T>() where T : IConvertible => ScanStringArray().Select(Convert<T>);
        private static string[] ScanStringArray()
        {
            var line = Console.ReadLine()?.Trim() ?? string.Empty;
            return string.IsNullOrEmpty(line) ? Array.Empty<string>() : line.Split(' ');
        }
        private static T Convert<T>(string value) where T : IConvertible => (T)System.Convert.ChangeType(value, typeof(T));
    }
}

提出情報

提出日時
問題 C - Flavors
ユーザ AconCavy
言語 C# 11.0 (.NET 7.0.7)
得点 300
コード長 4166 Byte
結果 AC
実行時間 364 ms
メモリ 81200 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 2
AC × 51
セット名 テストケース
Sample sample_01.txt, sample_02.txt
All killer_01.txt, killer_02.txt, killer_03.txt, sample_01.txt, sample_02.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt
ケース名 結果 実行時間 メモリ
killer_01.txt AC 258 ms 77552 KiB
killer_02.txt AC 268 ms 77412 KiB
killer_03.txt AC 271 ms 77624 KiB
sample_01.txt AC 50 ms 25412 KiB
sample_02.txt AC 43 ms 25560 KiB
test_01.txt AC 39 ms 25364 KiB
test_02.txt AC 43 ms 25580 KiB
test_03.txt AC 52 ms 25400 KiB
test_04.txt AC 46 ms 25400 KiB
test_05.txt AC 163 ms 81184 KiB
test_06.txt AC 167 ms 77508 KiB
test_07.txt AC 158 ms 56272 KiB
test_08.txt AC 247 ms 67616 KiB
test_09.txt AC 45 ms 26924 KiB
test_10.txt AC 167 ms 63292 KiB
test_11.txt AC 218 ms 67020 KiB
test_12.txt AC 103 ms 45432 KiB
test_13.txt AC 165 ms 62788 KiB
test_14.txt AC 134 ms 52416 KiB
test_15.txt AC 190 ms 66744 KiB
test_16.txt AC 315 ms 79600 KiB
test_17.txt AC 84 ms 39868 KiB
test_18.txt AC 222 ms 66460 KiB
test_19.txt AC 79 ms 37264 KiB
test_20.txt AC 209 ms 66628 KiB
test_21.txt AC 189 ms 66236 KiB
test_22.txt AC 121 ms 46164 KiB
test_23.txt AC 284 ms 72696 KiB
test_24.txt AC 133 ms 52492 KiB
test_25.txt AC 149 ms 55344 KiB
test_26.txt AC 60 ms 33644 KiB
test_27.txt AC 345 ms 81072 KiB
test_28.txt AC 346 ms 81036 KiB
test_29.txt AC 362 ms 81144 KiB
test_30.txt AC 312 ms 77528 KiB
test_31.txt AC 310 ms 77652 KiB
test_32.txt AC 316 ms 80132 KiB
test_33.txt AC 339 ms 81032 KiB
test_34.txt AC 357 ms 81200 KiB
test_35.txt AC 342 ms 81148 KiB
test_36.txt AC 355 ms 81028 KiB
test_37.txt AC 355 ms 81120 KiB
test_38.txt AC 340 ms 80912 KiB
test_39.txt AC 361 ms 80924 KiB
test_40.txt AC 325 ms 77736 KiB
test_41.txt AC 312 ms 77544 KiB
test_42.txt AC 316 ms 79540 KiB
test_43.txt AC 335 ms 81036 KiB
test_44.txt AC 339 ms 80976 KiB
test_45.txt AC 364 ms 81160 KiB
test_46.txt AC 331 ms 80964 KiB