#include <bits/stdc++.h>
#include "message.h"
#include "krazki.h"
using namespace std;
int n,m;
long long int k,akt;
int main(){
int ja=MyNodeId();
if(ja==0)
{
n=PipeHeight();
m=NumberOfDiscs();
long long int sred[n+10];
for(int i=1;i<=n;i++)
{
k=HoleDiameter(i);
if(i!=1)
sred[i]=min(sred[i-1],k);
else
sred[i]=k;
}
int niuszka=n;
for(int j=1;j<=m;j++)
{
akt=DiscDiameter(j);
for(int i=niuszka;i>=0;i--)
{
if(sred[i]>=akt)
{
niuszka=i-1;
break;
}
}
}
printf("%d",max(niuszka+1,0));
}
return 0;
}
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 | #include <bits/stdc++.h> #include "message.h" #include "krazki.h" using namespace std; int n,m; long long int k,akt; int main(){ int ja=MyNodeId(); if(ja==0) { n=PipeHeight(); m=NumberOfDiscs(); long long int sred[n+10]; for(int i=1;i<=n;i++) { k=HoleDiameter(i); if(i!=1) sred[i]=min(sred[i-1],k); else sred[i]=k; } int niuszka=n; for(int j=1;j<=m;j++) { akt=DiscDiameter(j); for(int i=niuszka;i>=0;i--) { if(sred[i]>=akt) { niuszka=i-1; break; } } } printf("%d",max(niuszka+1,0)); } return 0; } |
English