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
#include "message.h"
#include "krazki.h"
#include <iostream>

using namespace std;
long long rurke[10000000];

int main()
{
    if(MyNodeId()==0)
    {
        long long xd, jot, rem;
        long long rura=PipeHeight();
        long long dysk=NumberOfDiscs();
        jot=rura+1;
        rem=jot;
        for(int i=1; i<=rura; i++)
        {
            rurke[i]=HoleDiameter(i);
            if(i!=1)
                rurke[i]=min(rurke[i], rurke[i-1]);
        }
        for(int i=1; i<=dysk; i++)
        {
            xd=DiscDiameter(i);
            jot--;
            while(rurke[jot]<xd && jot>0)
                jot--;
            rem=jot;
            if(rem==0)
                break;
        }
        cout<<rem;
    }
}