#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; } |