Processing math: 100%

Районная олимпиада по информатике. 2016-2017 учебный год.


Задача F. Массив

Ограничение по времени:
2 секунда
Ограничение по памяти:
64 мегабайта

Вам дан массив A длины n. Вы можете удалить некоторые элементы из него, при этом после всех удалении элементы должны стоять в строго возрастающем порядке. Выведите максимальную возможную длину массива после всех удалении.
Формат входного файла
Первая строка входного файла содержит целое число N (1N1000000) — длину последовательности. Вторая строка входного файла содержит N целых чисел — элементы последовательности A. Все элементы последовательности не превосходят 1000000000 по абсолютному значению.
Формат выходного файла
Выведите ответ к задаче.
Примеры:
Вход
4
4 1 2 3 
Ответ
3
Замечание
Необходимо удалить 4, тогда результирующий массив будет 1 2 3.
посмотреть в олимпиаде

Комментарий/решение:

пред. Правка 2   0
6 года 4 месяца назад #

asd

  0
5 года 10 месяца назад #

показать/скрыть код

C++

пред. Правка 2   1
5 года 10 месяца назад #

  0
5 года 4 месяца назад #

Но ведь работает же :)

показать/скрыть код

C++

  1
2 года 6 месяца назад #

#include <iostream>

using namespace std;

int main(){

int n;

cin >> n;

int arr[n];

int res[n];

res[0] = arr[0];

for (int i = 0; i < n; i++) {

cin >> arr[i];

}

int j = 0;

for (int i = 1; i < n; i++) {

if (arr[i] < res[j]) {

res[j] = arr[i];

} else {

res[++j] = arr[i];

}

}

cout << j + 1;

}

  0
2 года 6 месяца назад #

показать/скрыть код

C++

#include <iostream>

using namespace std;

int main(){

int n;

cin >> n;

int arr[n];

int res[n];

res[0] = arr[0];

for (int i = 0; i < n; i++) {

cin >> arr[i];

}

int j = 0;

for (int i = 1; i < n; i++) {

if (arr[i] < res[j]) {

res[j] = arr[i];

} else {

res[++j] = arr[i];

}

}

cout << j + 1;

}

  1
2 года 6 месяца назад #

показать/скрыть код

C++

  0
2 года 3 месяца назад #

#include<bits/stdc++.h>

using namespace std;

#define ll long long

stringstream f;

int main () {

ios_base::sync_with_stdio(0);

cin.tie(0);cout.tie(0);

ll n, ans=0;

cin>>n;

ll a[n];

for(ll i=0;i<n;i++)cin>>a[i];

for(ll i=0;i<n;i++){

if(a[i]>a[i+1])ans++;

}

cout<<n-ans;

}

  0
2 года 3 месяца назад #

#include<bits/stdc++.h>

using namespace std;

#define ll long long

int main () {

ios_base::sync_with_stdio(0);

cin.tie(0);cout.tie(0);

ll n, ans=0;

cin>>n;

ll a[n];

for(ll i=0;i<n;i++)cin>>a[i];

for(ll i=0;i<n;i++){

if((a[i]>a[i+1] || a[i-1]+1!=a[i]) && i>0)ans++;

}

cout<<n-ans;

}

пред. Правка 2   0
1 года 3 месяца назад #

input()

d=list(map(int, input().split()))

for i in range(len(d)):

if d[i] + 1 == d[1]:

print(len(d))

else:

d.pop(i)

print(len(d))

break