51-Nod 1279
题意:可以理解为剑放入井中 而且只能横着放。
每次在输入井的深度之后进行更新。如果i比i-1小,那么就进行更新(因为要进去i的前提是能通过i-1)。
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 int A[500100]; 7 int B[500100]; 8 int main() 9 { 10 int n,m; 11 while(cin>>n>>m) 12 { 13 cin>>A[0]; 14 for(int i=1;i<n;i++) 15 { 16 cin>>A[i]; 17 if(A[i]>A[i-1]) 18 A[i]=A[i-1]; 19 } 20 for(int j=0;j<m;j++) 21 { 22 cin>>B[j]; 23 } 24 int s=0; 25 for(int i=n-1;i>=0;) 26 { 27 if(s<m) 28 { 29 if(A[i]>=B[s]) 30 { 31 i--; 32 s++; 33 } 34 else 35 { 36 i--; 37 } 38 } 39 40 } 41 cout<<s<<endl; 42 43 } 44 return 0; 45 }