結果

提出番号 2391
提出者 kya
言語 C++
提出日時 2020-04-29 18:44:22
問題名 (71)音楽ゲーム
結果 CE
点数 0%

テストケース

テストケース 結果 得点 実行時間 メモリ使用量
1 CE 0% 0ms 0KB
2 CE 0% 0ms 0KB
3 CE 0% 0ms 0KB
4 CE 0% 0ms 0KB
5 CE 0% 0ms 0KB
6 CE 0% 0ms 0KB
7 CE 0% 0ms 0KB
8 CE 0% 0ms 0KB
9 CE 0% 0ms 0KB
10 CE 0% 0ms 0KB
11 CE 0% 0ms 0KB
12 CE 0% 0ms 0KB
13 CE 0% 0ms 0KB
14 CE 0% 0ms 0KB
15 CE 0% 0ms 0KB
16 CE 0% 0ms 0KB
17 CE 0% 0ms 0KB
18 CE 0% 0ms 0KB
19 CE 0% 0ms 0KB
20 CE 0% 0ms 0KB
21 CE 0% 0ms 0KB
22 CE 0% 0ms 0KB
23 CE 0% 0ms 0KB
24 CE 0% 0ms 0KB
25 CE 0% 0ms 0KB
26 CE 0% 0ms 0KB
27 CE 0% 0ms 0KB
28 CE 0% 0ms 0KB
29 CE 0% 0ms 0KB
30 CE 0% 0ms 0KB

ソースコード

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

constexpr int MOD = 1'000'000'007;

void add (int &a, int b) {
    a = ((a % MOD) + (b % MOD)) % MOD;
}

int main() {
    int n;
    cin >> n;
    vector<int> a(n);
    for (int &e : a) cin >> e;
    sort(a.begin(), a.end());
    
    vector<int> dp(n + 1);
    dp[1] = 1;
    int sum = 1;
    
    for (int i = 1; i < n; i++) {
        if (a[i] == a[i - 1]) dp[i + 1] = dp[i];
        else dp[i + 1] = sum;
        add(sum, dp[i + 1]);
    }
    
    cout << sum << '\n';
    
    return 0;
}