Rezultati

Up. imeNalogaJezikRezultatČas oddaje
DROPTABLE-2017 Ribiči C# 0/100Prekoračen čas (TLE) 11. maj '17 @ 18:24

Test Točke Porabljen spomin Porabljen čas Status
#1 3/3 13,398 MiB 0,000 s OK
#2 0/3 13,578 MiB 10,920 s Prekoračen čas
#3 0/3 13,578 MiB 10,925 s Prekoračen čas
#4 3/3 25,629 MiB 0,000 s OK
#5 0/4 25,145 MiB 10,920 s Prekoračen čas
#6 0/4 20,770 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​249638776
<<<EOF>>>
Pravilen izhod:
​499524288
<<<EOF>>>
#7 0/4 25,156 MiB 10,925 s Prekoračen čas
#8 0/4 27,012 MiB 10,916 s Prekoračen čas
#9 0/4 26,754 MiB 10,912 s Prekoračen čas
#10 0/4 17,250 MiB 10,915 s Prekoračen čas
#11 0/4 20,285 MiB 10,889 s Prekoračen čas
#12 0/4 22,758 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​250112510
<<<EOF>>>
Pravilen izhod:
​251001141
<<<EOF>>>
#13 0/4 27,605 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​4853271
<<<EOF>>>
Pravilen izhod:
​5289684
<<<EOF>>>
#14 0/4 20,496 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​5232
<<<EOF>>>
Pravilen izhod:
​10000
<<<EOF>>>
#15 0/4 25,594 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​129596
<<<EOF>>>
Pravilen izhod:
​174983
<<<EOF>>>
#16 0/4 19,422 MiB 10,899 s Prekoračen čas
#17 0/4 24,430 MiB 10,929 s Prekoračen čas
#18 0/4 13,473 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​55
<<<EOF>>>
Pravilen izhod:
​9955
<<<EOF>>>
#19 0/4 18,645 MiB 10,936 s Prekoračen čas
#20 0/4 20,684 MiB 10,900 s Prekoračen čas
#21 4/4 17,367 MiB 0,000 s OK
#22 0/4 18,766 MiB 10,916 s Prekoračen čas
#23 0/4 20,723 MiB 10,887 s Prekoračen čas
#24 0/4 17,219 MiB 10,920 s Prekoračen čas
#25 0/4 17,289 MiB 10,910 s Prekoračen čas
#26 0/4 13,574 MiB 10,920 s Prekoračen čas

Ocenjevani program (Ribici.cs):
// HULA HULA HOP reads from a file rather than stdin xD
// #define HULAHOP

using System;
using System.IO;
using System.Linq;

namespace csharp_template {
  class Program {

#if HULAHOP
    static string[] FILE_CONTENTS = File.ReadAllLines("tmp");
    static int FILE_LINE_CNT = 0;
#endif
    static string GetLine() {
#if HULAHOP
      return FILE_CONTENTS[FILE_LINE_CNT++];
#else
      return Console.ReadLine();
#endif
    }


    static int[] g;
    static int D;
    static int N;

    public static int GetSum(int start) {
      //   if (start + D > g.Length) return 0;
      int sum = 0;
      int end = start + D;
      for (int i = start; i < end; i++)
        sum += g[i];
      return sum;
    }

    public static int Read(int start, int remaining) {
      var sum = GetSum(start);
      if (remaining <= 1) return sum;
      var next = start + D;
      var max = 0;
      remaining--;
      for (int i = start + D; i + D < g.Length; i++) {
        max = Math.Max(max, Read(i, remaining));
      }
      return max + sum;
    }

    static void Main(string[] args) {
      var line = GetLine().Split(new char[] { ' ' });
      N = int.Parse(line[0]);
      D = int.Parse(line[1]);
      var K = int.Parse(line[2]);
      var line2 = GetLine().Split(new char[] { ' ' });
      g = line2.Select(t => int.Parse(t)).ToArray();

      Console.WriteLine(Read(0, K));
    }


  }
}