Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- public class ZigZagSequence {
- static int najdiNajdolgaCikCak(int a[]) {
- int posleden = a[0];
- int
- dSekvenca = 1
- , maxDolzSekvenca = -1
- , pocetokMaxSekvenca = 0
- , krajMaxSekvenca = 0;
- for (int i = 1; i < a.length; i++)
- {
- int m = a[i];
- //System.out.printf("%d vs %d - %d\n", posleden, m, dSekvenca);
- if (
- (posleden > 0&&m > 0)
- || (posleden < 0 && m < 0)
- || (posleden == 0 || m == 0)
- || (i == a.length-1)
- )
- {
- if (dSekvenca > maxDolzSekvenca)
- {
- krajMaxSekvenca = i;
- pocetokMaxSekvenca = krajMaxSekvenca - dSekvenca;
- maxDolzSekvenca = krajMaxSekvenca-pocetokMaxSekvenca;
- if (i == a.length-1)
- maxDolzSekvenca += 1;
- }
- dSekvenca = 0;
- }
- posleden = m;
- dSekvenca++;
- }
- if (pocetokMaxSekvenca < 0)
- pocetokMaxSekvenca = 0;
- if (maxDolzSekvenca < 0)
- {
- pocetokMaxSekvenca = 0;
- maxDolzSekvenca = a.length;
- krajMaxSekvenca = maxDolzSekvenca -1;
- }
- /*System.out.printf("Najdolga sekvenca: %d-%d (%d)\n", pocetokMaxSekvenca, krajMaxSekvenca, maxDolzSekvenca);
- System.out.println("--------------------");
- for (int i = pocetokMaxSekvenca; i < pocetokMaxSekvenca + maxDolzSekvenca; i++)
- System.out.printf("[%d]: %d\n", i, a[i]);
- System.out.println("--------------------");
- */return maxDolzSekvenca;
- }
- public static void main(String[] args) throws Exception {
- int i,j,k;
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- int N = Integer.parseInt(br.readLine());
- int a[] = new int[N];
- for (i=0;i<N;i++)
- a[i] = Integer.parseInt(br.readLine());
- int rez = najdiNajdolgaCikCak(a);
- System.out.println(rez);
- br.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment