https://github.com/lukaszb/codility-training/blob/master/level03/passing-cars.py

http://codesays.com/2014/solution-to-passing-cars-by-codility/

www.codility.com




A non-empty zero-indexed array A consisting of N integers is given. The consecutive elements of array A represent consecutive cars on a road.

Array A contains only 0s and/or 1s:

The goal is to count passing cars. We say that a pair of cars (P, Q), where 0 ≤ P < Q < N, is passing when P is traveling to the east and Q is traveling to the west.

For example, consider array A such that:

  A[0] = 0
  A[1] = 1
  A[2] = 0
  A[3] = 1
  A[4] = 1

We have five pairs of passing cars: (0, 1), (0, 3), (0, 4), (2, 3), (2, 4).

Write a function:

int solution(int A[], int N);

that, given a non-empty zero-indexed array A of N integers, returns the number of pairs of passing cars.

The function should return −1 if the number of pairs of passing cars exceeds 1,000,000,000.

For example, given:

  A[0] = 0
  A[1] = 1
  A[2] = 0
  A[3] = 1
  A[4] = 1

the function should return 5, as explained above.

Assume that:

Complexity:

Elements of input arrays can be modified.

Copyright 2009–2015 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.


// you can write to stdout for debugging purposes, e.g.
// printf("this is a debug message\n");

int solution(int A[], int N) {
// write your code in C99
int i=0;
int j=0;
int wynik=0;
for (i=0;i<N;i++)
{
if (A[i]==0)
{
for (j=1;j<N-i;j++)
{
if (A[i]<A[i+j])
wynik++;
printf("wynik=%d i=%d j=%d \n",wynik,i,j);
}
}
}
return wynik;
}




C99

All changes saved.

Keyboard shortcuts



Running solution...


Compilation successful.


Example test:   [0, 1, 0, 1, 1]
Output (stderr):

WARNING: producing output may seriously slow down your code!

Output:

wynik=1 i=0 j=1
wynik=1 i=0 j=2
wynik=2 i=0 j=3
wynik=3 i=0 j=4
wynik=4 i=2 j=1
wynik=5 i=2 j=2

OK


Your code is syntactically correct and works properly on the example test.


https://codility.com/demo/results/demo3C9SRP-DP2/

submit.

Mój kod.

Test score

44% 44 out of 100 points




example
example test

0.007 s

OK

stderr:

WARNING: producing output may seriously slow down your code!

stdout:

wynik=1 i=0 j=1 
wynik=1 i=0 j=2 
wynik=2 i=0 j=3 
wynik=3 i=0 j=4 
wynik=4 i=2 j=1 
wynik=5 i=2 j=2 


Correctness tests


single
single element

0.007 s

OK

double
two elements

0.006 s

OK

stderr:

WARNING: producing output may seriously slow down your code!

stdout:

wynik=0 i=0 j=1 

simple
simple test

0.007 s

OK


stderr:

WARNING: producing output may seriously slow down your code!

stdout:

wynik=1 i=0 j=1 
wynik=1 i=0 j=2 
wynik=2 i=0 j=3 
wynik=2 i=0 j=4 
wynik=3 i=0 j=5 
wynik=4 i=2 j=1 
wynik=4 i=2 j=2 
wynik=5 i=2 j=3 
wynik=6 i=4 j=1 



small_random
random, length = 100

0.009 s

OK


stderr:

WARNING: producing output may seriously slow down your code!

stdout:

wynik=0 i=0 j=1 
wynik=0 i=0 j=2 
wynik=0 i=0 j=3 
wynik=1 i=0 j=4 
wynik=1 i=0 j=5 
wynik=2 i=0 j=6 
wynik=2 i=0 j=7 
wynik=3 i=0 j=8 
wynik=3 i=0 j=9 
wynik=3 i=0 j=10 
wynik=3 i=0 j=11 
wynik=3 i=0 j=12 
wynik=3 i=0 j=13 
wynik=3 i=0 j=14 
wynik=3 i=0 j=15 
wynik=4 i=0 j=16 
wynik=4 i=0 j=17 
wynik=4 i=0 j=18 
wynik=4 i=0 j=19 
wynik=5 i=0 j=20 
wynik=5 i=0 j=21 
wynik=5 i=0 j=22 
wynik=6 i=0 j=23 
wynik=6 i=0 j=24 
wynik=7 i=0 j=25 
wynik=8 i=0 j=26 
wynik=8 i=0 j=27 
wynik=9 i=0 j=28 
wynik=10 i=0 j=29 
wynik=10 i=0 j=30 
wynik=11 i=0 j=31 
wynik=11 i=0 j=32 
wynik=12 i=0 j=33 
wynik=13 i=0 j=34 
wynik=14 i=0 j=35 
wynik=14 i=0 j=36 
wynik=14 i=0 j=37 
wynik=15 i=0 j=38 
wynik=16 i=0 j=39 
wynik=17 i=0 j=40 
wynik=18 i=0 j=41 
wynik=19 i=0 j=42 
wynik=20 i=0 j=43 
wynik=20 i=0 j=44 
wynik=21 i=0 j=45 
wynik=21 i=0 j=46 
wynik=21 i=0 j=47 
wynik=22 i=0 j=48 
wynik=22 i=0 j=49 
wynik=23 i=0 j=50 
wynik=24 i=0 j=51 
wynik=25 i=0 j=52 
wynik=25 i=0 j=53 
wynik=25 i=0 j=54 
wynik=25 i=0 j=55 
wynik=25 i=0 j=56 
wynik=25 i=0 j=57 
wynik=26 i=0 j=58 
wynik=26 i=0 j=59 
wynik=26 i=0 j=60 
wynik=26 i=0 j=61 
wynik=27 i=0 j=62 
wynik=27 i=0 j=63 
wynik=27 i=0 j=64 
wynik=27 i=0 j=65 
wynik=28 i=0 j=66 
wynik=29 i=0 j=67 
wynik=30 i=0 j=68 
wynik=31 i=0 j=69 
wynik=32 i=0 j=70 
wynik=33 i=0 j=71 
wynik=34 i=0 j=72 
wynik=34 i=0 j=73 
wynik=34 i=0 j=74 
wynik=34 i=0 j=75 
wynik=35 i=0 j=76 
wynik=35 i=0 j=77 
wynik=36 i=0 j=78 
wynik=36 i=0 j=79 
wynik=36 i=0 j=80 
wynik=36 i=0 j=81 
wynik=36 i=0 j=82 
wynik=36 i=0 j=83 
wynik=36 i=0 j=84 
wynik=36 i=0 j=85 
wynik=36 i=0 j=86 
wynik=36 i=0 j=87 
wynik=36 i=0 j=88 
wynik=36 i=0 j=89 
wynik=36 i=0 j=90 
wynik=36 i=0 j=91 
wynik=36 i=0 j=92 
wynik=37 i=0 j=93 
wynik=37 i=0 j=94 
wynik=38 i=0 j=95 
wynik=38 i=0 j=96 
wynik=39 i=0 j=97 
wynik=39 i=0 j=98 
wynik=39 i=0 j=99 
wynik=39 i=1 j=1 
wynik=39 i=1 j=2 
wynik=40 i=1 j=3 
wynik=40 i=1 j=4 
wynik=41 i=1 j=5 
wynik=41 i=1 j=6 
wynik=42 i=1 j=7 
wynik=42 i=1 j=8 
wynik=42 i=1 j=9 
wynik=42 i=1 j=10 
wynik=42 i=1 j=11 
wyni