salam...
in soal ye soale DPe va bayad roosh binary search bezanim inaro midunam amma mikham bedunam ke code man che moshkeli dare ke WA migiram...
algorithme man Greedy e va manteghanam bayad kamelan dorost bashe...
lotf konin age test case eshtebahi peyda kardin reply konin ta ye fekri barash bokonam...
#include <iostream>
#include <algorithm>
using namespace std;
#define N 100000
#define inf
2147483647int num[N] , arr[N];
int main()
{
//freopen("
what.in", "r", stdin);
int cn = 0;
//memset(num , 0 , sizeof num);
while(cin >> num[cn++])
{
;
}
int j = 0;
fill(arr , arr+N , inf);
for (int i = 0 ; i < cn -1 ; i++)
{
if(j == 0)
{
if(num[i] < arr[j])
arr[j++] = num[i];
}
if(j == 1)
{
if(num[i] < arr[j-1])
{
arr[j-1] = num[i];
continue;
}
if(num[i] < arr[j] && num[i] > arr[j-1])
arr[j++] = num[i];
}
else
{
if(num[i] < arr[j-1] && num[i] > arr[j-2])
{
arr[j-1] = num[i];
continue;
}
if(num[i] < arr[j] && num[i] > arr[j-1])
arr[j++] = num[i];
}
}
cout << j << endl << "-" << endl;
for(int i = 0 ; i < j ;i++)
cout << arr[i] << endl;
return 0;
}