#include<bits/stdc++.h> #include "krazki.h" #include "message.h" using namespace std; vector<long long>rurka; vector<long long>krazki; int main(){ if(MyNodeId()==0) { int n,m; n=PipeHeight(); m=NumberOfDiscs(); //cin>>n>>m;//n-rurka //m-krazki if(m>n){cout<<0; return 0;} rurka.resize(n); krazki.resize(m); rurka[0]=HoleDiameter(1); //cin>>rurka[0]; for(int i=1;i<n;i++) { rurka[i]=HoleDiameter(i+1); //cin>>rurka[i]; rurka[i]=min(rurka[i],rurka[i-1]); } cin>>krazki[0]; for(int i=1;i<m;i++) { krazki[i]=DiscDiameter(i+1); //cin>>krazki[i]; krazki[i]=max(krazki[i],krazki[i-1]); } int kiter=0; int piter=n-1; while(kiter<m && piter>=0) { if(krazki[kiter]<=rurka[piter]) { kiter++; if(kiter>=m) { cout<<piter+1<<endl;; return 0; } piter--; } else piter--; } cout<<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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #include<bits/stdc++.h> #include "krazki.h" #include "message.h" using namespace std; vector<long long>rurka; vector<long long>krazki; int main(){ if(MyNodeId()==0) { int n,m; n=PipeHeight(); m=NumberOfDiscs(); //cin>>n>>m;//n-rurka //m-krazki if(m>n){cout<<0; return 0;} rurka.resize(n); krazki.resize(m); rurka[0]=HoleDiameter(1); //cin>>rurka[0]; for(int i=1;i<n;i++) { rurka[i]=HoleDiameter(i+1); //cin>>rurka[i]; rurka[i]=min(rurka[i],rurka[i-1]); } cin>>krazki[0]; for(int i=1;i<m;i++) { krazki[i]=DiscDiameter(i+1); //cin>>krazki[i]; krazki[i]=max(krazki[i],krazki[i-1]); } int kiter=0; int piter=n-1; while(kiter<m && piter>=0) { if(krazki[kiter]<=rurka[piter]) { kiter++; if(kiter>=m) { cout<<piter+1<<endl;; return 0; } piter--; } else piter--; } cout<<0; // } } return 0; } |