Educational Codeforces Round 47 (Rated for Div. 2) :A. Game Shopping

题目链接:http://codeforces.com/contest/1009/problem/A

 

解题心得:

  • 题意就是给你两个数列c,a,你需要从c中选择一个子串从a头开始匹配,要求子串中的连续的前k个数都要比对应的a中数小,问k最大是多少。
  • 大比赛的时候自己在枚举题意,搞了好久心态差点崩了。
    #include <bits/stdc++.h>
    using namespace std;
    const int maxn = 1100;
    
    int n,m;
    int a[maxn],c[maxn];
    void init() {
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++)
            scanf("%d",&c[i]);
        for(int i=1;i<=m;i++)
            scanf("%d",&a[i]);
    }
    
    void solve() {
        int ans = 0;
        int last = 1;
        for(int i=1;i<=m;i++) {//暴力枚举匹配
            for(int j=last;j<=n;j++) {
                if(a[i] >= c[j]) {
                    ans++;
                    last = j+1;
                    break;
                }
                else{
                    last = j+1;
                }
            }
        }
        printf("%d",ans);
    }
    int main() {
        init();
        solve();
        return 0;
    }

     

 

posted @ 2018-07-24 09:50  GoldenFingers  阅读(267)  评论(0编辑  收藏  举报