Submission details
Task:Array
Sender:Anonyymit Algoritmistit
Submission time:2015-09-30 18:00:42 +0300
Language:Java
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.22 sdetails
#2ACCEPTED0.23 sdetails
#3ACCEPTED0.21 sdetails
#4ACCEPTED0.30 sdetails
#5ACCEPTED0.18 sdetails
#6ACCEPTED0.32 sdetails
#7ACCEPTED0.33 sdetails
#8ACCEPTED0.31 sdetails
#9ACCEPTED0.33 sdetails
#10ACCEPTED0.32 sdetails
#11ACCEPTED0.32 sdetails
#12ACCEPTED0.34 sdetails
#13ACCEPTED0.32 sdetails
#14ACCEPTED0.32 sdetails
#15ACCEPTED0.32 sdetails
#16ACCEPTED0.34 sdetails
#17ACCEPTED0.40 sdetails
#18ACCEPTED0.33 sdetails
#19ACCEPTED0.38 sdetails
#20ACCEPTED0.33 sdetails
#21ACCEPTED0.26 sdetails

Code

import java.util.HashMap;
//import kilo4.IO;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
//package kilo4;
/**
 *
 * @author asjuvone
 */
public class T4 {

    public static void main(String[] args) {
        IO io = new IO();

        int n = io.nextInt();
        int x = io.nextInt();
        int[] arr = new int[n];
        HashMap<Long, Integer> hm = new HashMap();

        for (int i = 0; i < n; i++) {
            arr[i] = io.nextInt();
        }

        hm.put(0l, 1);
        long[] summat = new long[n];
        long count = 0;
        summat[0] = arr[0];
        for (int i = 0; i < n; i++) {
            if (i == 0) {
                summat[i] = arr[i];
            } else {
                summat[i] = summat[i - 1] + arr[i];
            }
            long summa = summat[i];

            if (hm.containsKey(summa - x)) {
                count += hm.get(summa - x);
            }

            if (hm.containsKey(summa)) {
                hm.put(summa, hm.get(summa) + 1);
            } else {
                hm.put(summa, 1);
            }

        }
        System.out.println(count);

    }
}

Test details

Test 1

Verdict: ACCEPTED

input
89384 -6
-1 9 -2 0 0 -1 5 0 -8 9 10 -6 ...

correct output
2029635

user output
2029635

Test 2

Verdict: ACCEPTED

input
32688 -4
6 0 9 -10 -2 -2 -1 5 -5 -6 9 8...

correct output
321307

user output
321307

Test 3

Verdict: ACCEPTED

input
11023 2
5 0 -1 9 -10 3 10 -10 1 -3 -8 ...

correct output
146015

user output
146015

Test 4

Verdict: ACCEPTED

input
36884 -7
6 8 2 -4 1 7 1 -7 5 3 1 -6 1 -...

correct output
471565

user output
471565

Test 5

Verdict: ACCEPTED

input
2875 -6
-4 1 -6 -10 -2 -5 9 0 -2 9 -3 ...

correct output
9343

user output
9343

Test 6

Verdict: ACCEPTED

input
52346 -111
973 629 570 312 541 -117 332 7...

correct output
8791

user output
8791

Test 7

Verdict: ACCEPTED

input
55283 298
593 -881 937 901 -91 -622 632 ...

correct output
7351

user output
7351

Test 8

Verdict: ACCEPTED

input
93592 -589
951 -193 -855 -692 926 -602 -6...

correct output
26431

user output
26431

Test 9

Verdict: ACCEPTED

input
98149 942
-816 178 196 -503 654 -474 -64...

correct output
37659

user output
37659

Test 10

Verdict: ACCEPTED

input
79573 -346
-161 619 720 182 726 452 -63 -...

correct output
19690

user output
19690

Test 11

Verdict: ACCEPTED

input
100000 -9229
-6207 -4894 -1224 8410 -2954 4...

correct output
1969

user output
1969

Test 12

Verdict: ACCEPTED

input
100000 4655
134 4684 8364 -7381 -1874 3429...

correct output
2353

user output
2353

Test 13

Verdict: ACCEPTED

input
100000 -5901
-4907 7494 7673 -3917 -3223 -7...

correct output
2345

user output
2345

Test 14

Verdict: ACCEPTED

input
100000 -2507
-845 -6674 -3174 9309 -1411 53...

correct output
2242

user output
2242

Test 15

Verdict: ACCEPTED

input
100000 -4850
-9232 -2843 5422 -5336 -2835 -...

correct output
3753

user output
3753

Test 16

Verdict: ACCEPTED

input
100000 -745023
-561148 78606 440682 608892 -3...

correct output
27

user output
27

Test 17

Verdict: ACCEPTED

input
100000 987216
602043 416718 216813 720665 -6...

correct output
41

user output
41

Test 18

Verdict: ACCEPTED

input
100000 -140762
-813926 -641015 5926 -87604 -8...

correct output
43

user output
43

Test 19

Verdict: ACCEPTED

input
100000 -828680
-53023 -23367 -91278 162438 82...

correct output
27

user output
27

Test 20

Verdict: ACCEPTED

input
100000 -731243595
-728764339 -159138563 36776806...

correct output
0

user output
0

Test 21

Verdict: ACCEPTED

input
100000 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

correct output
5000050000

user output
5000050000