1 条题解

  • 0
    @ 2025-7-6 11:41:24
    #include <bits/stdc++.h>
    using namespace std;
    int n, m;
    int a[205];
    int main()
    {
        cin >> n >> m;
        for (int i = 1; i <= n; i++)
            cin >> a[i];
        while (m--)
        {
            int op, x, y;
            cin >> op >> x >> y;
            if (op == 1)
            {
                int ans = a[x];
                for (int i = x + 1; i <= y; i++)
                    ans = max(ans, a[i]);
                cout << ans << "\n";
            }
            if (op == 2)
            {
                // a[x+1]~a[n] 往后挪一位
                for (int i = n; i >= x + 1; i--)
                    a[i + 1] = a[i];
                // y 放在 a[x+1]
                a[x + 1] = y;
                // 位数 +1 
                n++;
            }
            if (op == 3)
            {
                a[x] = y;
            }
            if (op == 4)
            {
                // 删了 len 个数
                int len = y - x + 1;
                // a[y+1]~a[n] 往前挪到 a[x] 开头的位置
                // 也就是往前挪 len 位
                for (int i = y + 1; i <= n; i++)
                    a[i - len] = a[i];
                n -= len;
            }
        }
        return 0;
    }
    
    • 1

    信息

    ID
    14264
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    132
    已通过
    28
    上传者