NC221660. 讲话
描述
输入描述
一共输入三行。
第一行输入两个整数n,m,表示会场的座位数量和同学人数。
第二行输入n个整数,表示会场前面人的身高。
第三行输入m个整数,表示同学们的身高。
输出描述
一共输出一行,一个整数k,表示牛牛也就是排头应该坐的位置。如果有多个解,输出编号最小的符合要求的k,如果无解,就是怎么办都会被校长看到,那么输出-1。
示例1
输入:
6 3 3 4 3 8 5 3 2 5 4
输出:
3
示例2
输入:
8 4 4 3 4 54 55 4 3 44 50 50 50 3
输出:
-1
C++ 解法, 执行用时: 7ms, 内存消耗: 400K, 提交时间: 2021-05-22 23:08:21
#include <iostream> using namespace std; const int N = 5e6+20, M = 5e6+20; int n, m; int a[N], b[M]; int main() { cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=m;i++) cin>>b[i]; for(int i=1;i<=n-m+1;i++) { int flag = 1,cnt = 0; for(int j=1;j<=m;j++) { if(a[i+cnt]<b[j]) flag = 0; cnt++; } if(flag) { cout<<i<<endl; return 0; } } cout<<-1<<endl; return 0; } /* 1 a 5 aaaaa */