Петя играет в онлайн-игру, одной из особенностей игры является возможность собрать коллекцию уникальных карт с героями игры. Для того, чтобы получить карту, нужно зайти на специальную страницу.

Петя заходил на эту страницу n раз в течение дня. Однако он заметил, что на этой странице не всегда появляется новая карта. Как выяснилось, новая карта появляется на странице через x секунд после того, как Петя забрал предыдущую карту.

По данному числу x и списку моментов времени, когда Петя заходил на страницу, определите, сколько карт он смог собрать.
Входные данные
Первая строка содержит числа n и x (1≤n≤100, 1≤x≤86400). Следующие n строк содержат моменты времени, когда Петя заходил на страницу. Время задано в формате часы:минуты:секунды, часы, минуты и секунды заданы двумя цифрами. Все времена различны, отсортированы по возрастанию и относятся к одним суткам (от 00:00:00 до 23:59:59).

Выходные данные
Выведите одно число — число карт, которые собрал Петя за день.
Пример
входные данные
5 300
12:00:00
12:04:30
12:05:00
12:15:32
12:15:33
выходные данные найти ошибек вылает непраивльный ответ на 2 тесте
вот мой код
#include <bits/stdc++.h>
using namespace std;
int main ()
{
long long n,m,i,j,x,k=0;
cin»n»x;
char z;
long long a[n],b[n],c[n],h[n];
for(i=0; i<n; i++)
{
cin»a[i]»z»b[i]»z»c[i];
h[i]=0;
h[i]=((a[i]*60)*60)+(b[i]*60)+c[i];
}
i=0;
j=0;
while(i<n-1)
{
while(h[j]-h[i]<300 and j<n-1)
{j++;}
k++;
i=j;
}
if(n==1)
{
cout«"1";
return 0;
}
cout«k;
}​

2566409 2566409    1   19.04.2020 16:03    4

Другие вопросы по теме Информатика