| 提出番号 | 2109 |
|---|---|
| 提出者 | ScrapZero |
| 言語 | C++ |
| 提出日時 | 2018-08-04 15:18:30 |
| 問題名 | (71)音楽ゲーム |
| 結果 | AC |
| 点数 | 100% |
| テストケース | 結果 | 得点 | 実行時間 | メモリ使用量 |
|---|---|---|---|---|
| 1 | AC | 100% | 11ms | 8112KB |
| 2 | AC | 100% | 7ms | 8400KB |
| 3 | AC | 100% | 11ms | 7648KB |
| 4 | AC | 100% | 19ms | 9568KB |
| 5 | AC | 100% | 15ms | 8512KB |
| 6 | AC | 100% | 19ms | 9552KB |
| 7 | AC | 100% | 3ms | 8704KB |
| 8 | AC | 100% | 16ms | 9552KB |
| 9 | AC | 100% | 28ms | 11600KB |
| 10 | AC | 100% | 16ms | 9552KB |
| 11 | AC | 100% | 18ms | 9552KB |
| 12 | AC | 100% | 29ms | 13712KB |
| 13 | AC | 100% | 11ms | 7824KB |
| 14 | AC | 100% | 28ms | 11600KB |
| 15 | AC | 100% | 7ms | 7232KB |
| 16 | AC | 100% | 4ms | 8112KB |
| 17 | AC | 100% | 36ms | 13728KB |
| 18 | AC | 100% | 30ms | 11616KB |
| 19 | AC | 100% | 12ms | 8112KB |
| 20 | AC | 100% | 18ms | 9552KB |
| 21 | AC | 100% | 36ms | 13712KB |
| 22 | AC | 100% | 34ms | 12640KB |
| 23 | AC | 100% | 35ms | 13712KB |
| 24 | AC | 100% | 3ms | 7808KB |
| 25 | AC | 100% | 35ms | 13712KB |
| 26 | AC | 100% | 37ms | 13712KB |
| 27 | AC | 100% | 15ms | 8480KB |
| 28 | AC | 100% | 33ms | 13696KB |
| 29 | AC | 100% | 21ms | 10608KB |
| 30 | AC | 100% | 31ms | 12640KB |
//#pragma once
#include <stdio.h>
#include <string>
#include <iostream>
#include <queue>
#include <algorithm>
#include <sstream>
#include <vector>
#include <math.h>
#include <set>
using namespace std;
long long N, M, K,a,b,c,d,e,H,W;
long long an[300000];
long long ni[300000]={};
long long A[2000][2000] = {};
long long t[200001] = {};
bool f[601][601];
string S;
set <long long>sll;
vector <long long>vll,vl;
typedef pair<long long, long long> pl;
pl buf;
int main() {
cin >> N;
for (int i = 0; i < N; i++) {
cin >> t[i];
vll.push_back(t[i]);
}
sort(vll.begin(), vll.end());
a = 1;
ni[0] = 1;
for (int i = 1; i < N; i++) {
if (vll[i] == vll[i - 1]) {
ni[i] = ni[i - 1];
}
else {
ni[i] = a;
}
a +=ni[i];
a %= 1000000007;
}
c = 0;
for (int i = 0; i < N; i++) {
c += ni[i];
c %= 1000000007;
}
cout << c << endl;
return 0;
}