| Task: | Array |
| Sender: | Anonyymit Algoritmistit |
| Submission time: | 2015-09-30 18:00:42 +0300 |
| Language: | Java |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.22 s | details |
| #2 | ACCEPTED | 0.23 s | details |
| #3 | ACCEPTED | 0.21 s | details |
| #4 | ACCEPTED | 0.30 s | details |
| #5 | ACCEPTED | 0.18 s | details |
| #6 | ACCEPTED | 0.32 s | details |
| #7 | ACCEPTED | 0.33 s | details |
| #8 | ACCEPTED | 0.31 s | details |
| #9 | ACCEPTED | 0.33 s | details |
| #10 | ACCEPTED | 0.32 s | details |
| #11 | ACCEPTED | 0.32 s | details |
| #12 | ACCEPTED | 0.34 s | details |
| #13 | ACCEPTED | 0.32 s | details |
| #14 | ACCEPTED | 0.32 s | details |
| #15 | ACCEPTED | 0.32 s | details |
| #16 | ACCEPTED | 0.34 s | details |
| #17 | ACCEPTED | 0.40 s | details |
| #18 | ACCEPTED | 0.33 s | details |
| #19 | ACCEPTED | 0.38 s | details |
| #20 | ACCEPTED | 0.33 s | details |
| #21 | ACCEPTED | 0.26 s | details |
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 |
