QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#579112#9313. Make MaxDUSK777WA 0ms3592kbC++141015b2024-09-21 09:01:192024-09-21 09:01:19

Judging History

你现在查看的是最新测评结果

  • [2024-09-21 09:01:19]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3592kb
  • [2024-09-21 09:01:19]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define ll long long

void solve() {
    ll n;
    cin >> n;
    vector<ll> a(n);
    
    // 输入数组
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }
    
    // 如果整个数组都相同,那么无法进行操作,直接输出0
    if (equal(a.begin(), a.end(), a.begin())) {
        cout << 0 << endl;
        return;
    }

    // 找到从右到左第一个不等于最后一个元素的下标
    int last_max_pos = n - 1;  // 最后一个元素的位置
    int operations = 0;  // 计数操作次数

    // 从右往左逐步扩大子数组
    for (int i = n - 2; i >= 0; --i) {
        if (a[i] != a[n - 1]) {
            operations++;
            i = n - 2 - operations;  // 将整个子数组变成最大值,缩小可操作的范围
        }
    }

    cout << operations << endl;
}

int main() {
    ll t;
    cin >> t;  // 测试用例的数量
    while (t--) {
        solve();
    }
}

详细

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3592kb

input:

4
2
1 2
2
2 2
7
1 1 1 2 2 2 2
3
1 2 3

output:

0
0
0
0

result:

wrong answer 1st numbers differ - expected: '1', found: '0'