Софтуерно Инженерство
Loading...
milenats avatar milenats 9 Точки

Increasing elements - Coding 101 Jan 2016

Здравейте,

не мога да се справя с ето тази задача:

Дадена е редица от n числа: a1, a2, …, an. Да се пресметне дължината на най-дългата нарастваща поредица от последователни елементи в редицата от числа.

Вход

Входните данни се четат от конзолата. На първия ред стои цяло число n (0n1000). На следващите n реда стоят n цели числа в интервала [-10001000]: a1, a2, …, an.

Изход

На конзолата трябва да се отпечата едно число – дължината на най-дългата нарастваща редица.

 

Стоя си на 83% в Judge и не разбирам защо, аз каквито и примери да пробвам си работи...

Ето го кода: http://pastebin.com/9SQv8arq

Alex0101 avatar Alex0101 374 Точки

Здравей,

 

Ето твоя код със съвсем малка поправка - 100/100

http://pastebin.com/FJaqvsHt

Колегата от по-торе излезе прав. Проблемът идваше от esle if. 

Ако имаш поредицата 1 2 3 4 5 6 7 7 , като застанеш на втората седмица, реално вече си излезнал от поредицата. А новата поредица има дължина 1 , независимо, колко е дълга.

Също така , ако имаш редицата 1 1 1 1, на всяка единица , ще имаш longestnow =1.  А за да я сетнеш ти имаш условие за лонгест и лонгест ноу, което не е коректно.

Нахнаш  if на  esle  и добавих последната проверка във for , защото на всякак итерация трябва да проверяваш.

2
milenats avatar milenats 9 Точки

Разбрах, мерси!

0