Submission #301091

# Submission time Handle Problem Language Result Execution time Memory
301091 2020-09-17T16:22:36 Z evpipis A Huge Tower (CEOI10_tower) C++11
100 / 100
181 ms 8824 KB
#include <bits/stdc++.h>
using namespace std;

const int len = 1e6+5, mod = 1e9+9;
int arr[len];

int mul(int a, int b){
    return (a*1LL*b)%mod;
}

int main(){
    int n, k;
    scanf("%d %d", &n, &k);
    for (int i = 0; i < n; i++)
        scanf("%d", &arr[i]);

    assert(n < len);
    sort(arr, arr+n);

    int ans = 1;
    for (int i = 0, j = 0; i < n; i++){
        while (arr[i] > arr[j]+k)
            j++;

        ans = mul(ans, i-j+1);
    }

    printf("%d\n", ans);
    return 0;
}

Compilation message

tower.cpp: In function 'int main()':
tower.cpp:13:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   13 |     scanf("%d %d", &n, &k);
      |     ~~~~~^~~~~~~~~~~~~~~~~
tower.cpp:15:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   15 |         scanf("%d", &arr[i]);
      |         ~~~~~^~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 14 ms 1024 KB Output is correct
2 Correct 14 ms 1024 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 78 ms 3832 KB Output is correct
2 Correct 73 ms 3704 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 154 ms 8824 KB Output is correct
2 Correct 181 ms 8184 KB Output is correct