Submission #1240874


Source Code Expand

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

int N,T;
int A[100010];

int main()
{
    scanf("%d%d",&N,&T);
    for(int i = 0; i < N; i++)
    {
        scanf("%d",&A[i]);
    }
    int min_mem = A[0],max_mem = A[0],ans = 0,mem = 0,now_max = 1,now_min = 1;
    for(int i = 1; i < N + 1; i++)
    {
        if(i == N)
        {
            if(max_mem - min_mem == mem)
            {
                ans += min(now_max,now_min);
            }
            continue;
        }
        if(A[i] <= min_mem)
        {
            if(A[i] < min_mem)
            {
                if(max_mem - min_mem == mem)
                {
                    ans += min(now_max,now_min);
                }
                min_mem = A[i];
                max_mem = A[i];
                now_min = now_max = 1;
            }
            else if(A[i] == min_mem)
            {
                now_min++;
            }
        }
        else if(A[i] >= max_mem)
        {
            if(A[i] == max_mem)
            {
                now_max++;
            }
            else if(A[i] > max_mem)
            {
                max_mem = A[i];
                now_max = 1;
                if(max_mem - min_mem > mem)
                {
                    ans = 0;
                    mem = max_mem - min_mem;
                }
            }
        }
    }
    printf("%d\n",ans);
    return 0;
}

Submission Info

Submission Time
Task D - An Invisible Hand
User unit
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1433 Byte
Status AC
Exec Time 13 ms
Memory 640 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:9:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&N,&T);
                        ^
./Main.cpp:12:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d",&A[i]);
                          ^

Judge Result

Set Name sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 15
Set Name Test Cases
sample sample_01.txt, sample_02.txt, sample_03.txt
All large_01.txt, large_02.txt, random_01.txt, random_02.txt, sample_01.txt, sample_02.txt, sample_03.txt, small_01.txt, small_02.txt, spec_01.txt, spec_02.txt, spec_03.txt, spec_04.txt, spec_05.txt, spec_06.txt
Case Name Status Exec Time Memory
large_01.txt AC 13 ms 640 KB
large_02.txt AC 11 ms 640 KB
random_01.txt AC 13 ms 640 KB
random_02.txt AC 13 ms 640 KB
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
small_01.txt AC 1 ms 256 KB
small_02.txt AC 1 ms 256 KB
spec_01.txt AC 12 ms 640 KB
spec_02.txt AC 12 ms 640 KB
spec_03.txt AC 12 ms 640 KB
spec_04.txt AC 12 ms 640 KB
spec_05.txt AC 13 ms 640 KB
spec_06.txt AC 13 ms 640 KB