87382024-01-27 11:07:17czitaFestés (50 pont)csharpHibás válasz 0/50624ms64748 KiB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace cw
{
    class Program
    {
        static int S, O;
        static int[] sorklt;
        static List<List<int>> oszlopktg;
        static void Main(string[] args)
        {
            int[] t = Console.ReadLine().Split().Select(int.Parse).ToArray();
            S = t[0]; O = t[1];
            sorklt = Console.ReadLine().Split().Select(int.Parse).ToArray();
            oszlopktg = new List<List<int>>();
            for (int i = 0; i < O; i++) oszlopktg.Add(Console.ReadLine().Split().Select(int.Parse).ToList());
            if (S == 2) ketto();
            else if (S == 3) harom();
            else negy();
            Console.ReadKey();
        }

        private static void negy()
        {
        }

        private static void harom()
        {
        }

        private static void ketto()
        {
            int[] oszto = { 1, 2, 1 };
            int sorosszeg = sorklt.Sum();
            bool volt1 = false, volt2 = false;
            int osszeg = 0, ktg = 0;
            double min;
            for (int i = 0; i < O; i++)
            {
                min = oszlopktg[i][1] / oszto[1];
                if (oszlopktg[i][0]<min&& oszlopktg[i][1] < oszlopktg[i][2] )//ha az első oszlop a legkisebb
                {
                    ktg = oszlopktg[i][0];
                    if (!volt2) ktg +=sorklt[1];
                    if (ktg<oszlopktg[i][1])
                    {
                        volt2 = true;
                        osszeg += ktg;
                    }
                    else osszeg += oszlopktg[i][1];
                }
                else//ha a második oszlop a legkisebb
                {
                    ktg = oszlopktg[i][2];
                    if (!volt1) ktg += sorklt[0];
                    if (ktg < oszlopktg[i][1])
                    {
                        volt1 = true;
                        osszeg += ktg;
                    }
                    else osszeg += oszlopktg[i][1];
                }
                if (osszeg>sorosszeg)
                {
                    osszeg = sorosszeg;
                    break;
                }
            }
            Console.WriteLine(osszeg);
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Elfogadva0/034ms21940 KiB
2Hibás válasz0/032ms22324 KiB
3Hibás válasz0/2426ms56076 KiB
4Hibás válasz0/234ms23204 KiB
5Hibás válasz0/337ms24936 KiB
6Hibás válasz0/290ms35108 KiB
7Hibás válasz0/2584ms62036 KiB
8Hibás válasz0/2592ms62296 KiB
9Hibás válasz0/2591ms62596 KiB
10Hibás válasz0/2591ms62512 KiB
11Hibás válasz0/2592ms62500 KiB
12Hibás válasz0/2550ms60676 KiB
13Hibás válasz0/2574ms60692 KiB
14Hibás válasz0/2289ms56740 KiB
15Hibás válasz0/3291ms57016 KiB
16Hibás válasz0/3412ms58736 KiB
17Hibás válasz0/2405ms59296 KiB
18Hibás válasz0/3407ms59260 KiB
19Hibás válasz0/2544ms60988 KiB
20Hibás válasz0/2569ms62884 KiB
21Hibás válasz0/2596ms64164 KiB
22Hibás válasz0/2593ms64712 KiB
23Hibás válasz0/2592ms64540 KiB
24Időlimit túllépés0/2602ms64748 KiB
25Időlimit túllépés0/2624ms64548 KiB