编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#4712 #1022. 相等步数 Memory Limit Exceeded 10 2923 ms 263040 K C++ 17 / 1.8 K t330026231 2024-01-17 16:02:23
显示原始代码
#include <iostream>
#include <cstdio>
#include <bits/stdc++.h>
#include <stdio.h>
#include <string.h>
using namespace std;
int mode = 0;
int multiplicity = 0;
int x = 0, y = 0;
void FindMode(int n[], int low, int high) {
    //找到中位数
    int mid = n[(low + high) / 2];

    //与中位数相等的第一个数与最后一个数的位置
    int first = 0, last = 0;
    for (int i = low; i <= high; i++) {
        if (n[i] == mid) {
            first = i;
            break;
        }
    }
    for (int i = first; i <= high; i++) {
        last = i;
        if (n[i] != mid) {
            last--;
            break;
        }
    }

    if (multiplicity < last - first + 1) {
        multiplicity = last - first + 1;
        mode = mid;
    }

    if (first + 1 > last - first + 1) {
        FindMode(n, low, first);
        printf("mode=%ld\n", mode);
    }

    if (high - last + 1 > last - first + 1) {
        FindMode(n, last, high);
    }
    x = first;
    y = last;
    return;
}
int main() {
    int n;
    int ans = 0;
    int cnt = 0;
    scanf("%ld", &n);
    int a[n];
    memset(a, 0, sizeof(a));
    for (int i = 0; i < n; i++) {
        scanf("%ld", &a[i]);
        a[i] = a[i] % 10;
    }
    sort(a, a + n - 1);
    for (int i = 0; i < n - 1; i++) {
        if (a[i + 1] == a[i]) {
            ans++;
        }
    }
    // printf("ans=%d\n", ans);
    if (ans == 0) {
        for (int i = 0; i < n - 1; i++) {
            while (a[i] != a[n - 1]) {
                a[i] = a[i] + 1;
                cnt++;
            }
        }
        printf("%d", cnt);
        return 0;
    }
    FindMode(a, 0, n - 1);
    // printf("mode=%ld\n", mode);
    if (y - x + 1 == n) {
        cnt = 0;
    } else {
        for (int i = 0; i < n; i++) {
            while (a[i] != (mode + 1)) {
                a[i] = (a[i]++) % 10;
                cnt++;
            }
        }
    }
    printf("%d", cnt);
    return 0;
}
子任务 #1
Memory Limit Exceeded
得分:10
测试点 #1
Memory Limit Exceeded
得分:0
用时:319 ms
内存:263004 KiB

输入文件(1.in

10 
0 0 4 2 2 4 8 7 2 4 

答案文件(1.out

27
测试点 #2
Memory Limit Exceeded
得分:0
用时:444 ms
内存:263016 KiB

输入文件(2.in

100 
73 33 89 38 12 45 0 41 32 43 62 41 28 18 96 94 3 95 51 18 13 58 27 79 71 29 30 47 63 74 75 46 
<196 bytes omitted>

答案文件(2.out

496
测试点 #3
Memory Limit Exceeded
得分:0
用时:208 ms
内存:262988 KiB

输入文件(3.in

1000 
119 956 656 314 176 368 43 612 219 197 653 83 868 686 485 129 771 484 91 861 308 331 335 605 
<3807 bytes omitted>

答案文件(3.out

5339
测试点 #4
Memory Limit Exceeded
得分:0
用时:400 ms
内存:262992 KiB

输入文件(4.in

100000 
23194 80158 98234 33656 37813 23819 90597 60869 86574 49452 83432 16164 34204 46887 95655 9
<588804 bytes omitted>

答案文件(4.out

548766
测试点 #5
Memory Limit Exceeded
得分:0
用时:490 ms
内存:262984 KiB

输入文件(5.in

100000 
53854 55135 76420 67226 82202 7105 15055 84950 28306 45887 81010 75089 99001 40329 75523 86
<588801 bytes omitted>

答案文件(5.out

547948
测试点 #6
Memory Limit Exceeded
得分:0
用时:325 ms
内存:263004 KiB

输入文件(6.in

100000 
91613 66847 4364 8472 84553 92259 35949 11227 37618 88380 42646 13143 62527 37340 80333 971
<588647 bytes omitted>

答案文件(6.out

548217
测试点 #7
Memory Limit Exceeded
得分:0
用时:256 ms
内存:262960 KiB

输入文件(7.in

100000 
15006 21413 11122 36693 43912 51794 57197 66649 98523 51747 83273 61400 7046 76817 48815 73
<588790 bytes omitted>

答案文件(7.out

548594
测试点 #8
Memory Limit Exceeded
得分:0
用时:224 ms
内存:263028 KiB

输入文件(8.in

100000 
28106 37130 43730 24846 54471 85738 5189 52267 10073 55960 1017 76342 52408 54527 85019 580
<588844 bytes omitted>

答案文件(8.out

548706
测试点 #9
Memory Limit Exceeded
得分:0
用时:238 ms
内存:263040 KiB

输入文件(9.in

100000 
30013 99970 93927 92437 36433 6866 62030 90470 84216 17151 11723 32244 20371 498 29403 3016
<588864 bytes omitted>

答案文件(9.out

547484
测试点 #10
Accepted
得分:100
用时:19 ms
内存:744 KiB

输入文件(10.in

100000 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
<199909 bytes omitted>

答案文件(10.out

0

用户输出

0

系统信息

Exited with return code 0