Rezultati

Up. imeNalogaJezikRezultatČas oddaje
malitip Priprava naloge Java 0/100Prekoračen čas (TLE) 19. apr '18 @ 17:34

Test Točke Porabljen spomin Porabljen čas Status
#1 0/11 87,805 MiB 1,418 s Napačen odgovor
Tvoj izhod:
​Tekma bo polom.
<<<EOF>>>
Pravilen izhod:
​47120013852231
<<<EOF>>>
#2 0/11 86,785 MiB 1,482 s Napačen odgovor
Tvoj izhod:
​Tekma bo polom.
<<<EOF>>>
Pravilen izhod:
​46934781048360
<<<EOF>>>
#3 0/11 89,824 MiB 1,336 s Napačen odgovor
Tvoj izhod:
​Tekma bo polom.
<<<EOF>>>
Pravilen izhod:
​47218273002750
<<<EOF>>>
#4 0/11 90,445 MiB 1,805 s Napačen odgovor
Tvoj izhod:
​2147476130
<<<EOF>>>
Pravilen izhod:
​47098206909139
<<<EOF>>>
#5 0/11 88,586 MiB 3,688 s Napačen odgovor
Tvoj izhod:
​2147481251
<<<EOF>>>
Pravilen izhod:
​44833673137276
<<<EOF>>>
#6 0/11 93,328 MiB 1,851 s Napačen odgovor
Tvoj izhod:
​Tekma bo polom.
<<<EOF>>>
Pravilen izhod:
​38422565125413
<<<EOF>>>
#7 11/11 36,629 MiB 0,000 s OK
#8 0/11 87,871 MiB 4,218 s Prekoračen čas
#9 0/12 0,000 MiB 0,000 s Napačen odgovor
Tvoj izhod:
​Tekma bo polom.
<<<EOF>>>
Pravilen izhod:
​Tekma bo polom
<<<EOF>>>

Ocenjevani program (PripravaNaloge.java):
import java.util.ArrayList;
import java.util.Scanner;

public class PripravaNaloge {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int k = sc.nextInt();
        int n = sc.nextInt();
        sc.nextLine();

        ArrayList<Integer> arT = new ArrayList<>(n);
        ArrayList<Integer> arC = new ArrayList<>(n);
        int sumT = 0;
        int sumCAll = 0;
        for (int i = 0; i < n; i++) {
            int t = sc.nextInt();
            int c = sc.nextInt();
            sumT += t;
            sumCAll += c;
            arT.add(t);
            arC.add(c);
        }

        if(sumT < k){
            System.out.println("Tekma bo polom.");
            System.exit(0);
        }

        int sumCMax = 0;
        for (int i = 0; i < n; i++) {
            sumT = 0;
            int sumC = 0;
            int j = i;
            while (j < n && sumT < k){
                sumT += arT.get(j);
                sumC += arC.get(j);
                j++;
            }
            if(sumT>=k) {
                int diff = sumCAll - sumC;
                if (diff > sumCMax) {
                    sumCMax = diff;
                }
            }
        }
        System.out.println(sumCMax);

    }


    private static Double value(String trajanje, String pomembnost){
        return Double.valueOf(pomembnost)/Double.valueOf(trajanje);
    }
}