1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
int wiersz(int k)
{
    float n;
    n=(sqrt(1+8*k)-1)/2;
    return ceil(n);
}
void boczne(vector <int> a,vector <int> &b,int k,int n)
{
    int i=0,c=0,d=0;
    while(i<k&&i<n)
    {
        b.push_back(a.at(c));
        b.push_back(a.at(d));
        i++;
        c=c+i;
        d=d+i+1;
    }
}
int naj(vector <int> a,int bk,int k)
{
    int mak=a.at(0);
    vector <int> b;
    boczne(a,b,bk,k);
    int mik=b.at(0);
    for(int i=0;i<b.size()-1;i++)
    {
        if(b.at(i)>b.at(i+1))
            mik=b.at(i+1);
    }
    k=(k*(k+1))/2;
    for(int i=0;i<k-1;i++)
    {
        if(a.at(i)>a.at(i+1))
            mak=a.at(i+1);
    }
    if(mik<mak)
        return mik;
    else
        return mak;
}
void wprowadzanie(vector <int> &a,unsigned short n)
{
    unsigned short b;
    for(int i=0;i<=n;i++)
    {
        cin>>b;
        a.push_back(b);
    }
}
int main()
{
    vector <int> a;
    int n,k;
    cin>>n>>k;
    n=((n*(n+1))/2)-1;
    wprowadzanie(a,n);
    cout<<naj(a,k,wiersz(k));
  return 0;}