Submission #32112003
Source Code Expand
#include <atcoder/all>
using namespace atcoder;
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const double pi = 3.14159265359;
const ll INF = 1LL << 60;
const int maxc = 'z'-'a'+1;
vector<int> d[maxc];
ll dp[200005];
const ll MOD = 1000000007;
int main()
{
string s;
cin >> s;
for (int i = 0; i < s.length(); i++){
char c = s[i];
d[c-'a'].push_back(i);
}
for (char c = 'a'; c <= 'z'; c++){
if (d[c-'a'].size() > 0){
int i = d[c-'a'][0];
dp[i] = 1;
}
}
for (int i = 0; i < s.length() - 1; i++){
for (char c = 'a'; c <= 'z'; c++){
auto it = lower_bound(d[c-'a'].begin(), d[c-'a'].end(), i+2);
if (it != d[c-'a'].end()){
int j = *it;
dp[j] += dp[i];
dp[j] %= MOD;
}
}
}
ll ans = 0;
for (int i = 0; i < s.length(); i++){
ans += dp[i];
ans %= MOD;
}
cout << ans << endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Substrings |
| User | unnohideyuki |
| Language | C++ (GCC 9.2.1) |
| Score | 500 |
| Code Size | 949 Byte |
| Status | AC |
| Exec Time | 125 ms |
| Memory | 6132 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:20:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
20 | for (int i = 0; i < s.length(); i++){
| ~~^~~~~~~~~~~~
./Main.cpp:32:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
32 | for (int i = 0; i < s.length() - 1; i++){
| ~~^~~~~~~~~~~~~~~~
./Main.cpp:44:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
44 | for (int i = 0; i < s.length(); i++){
| ~~^~~~~~~~~~~~
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_00.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| All | case_00.txt, case_01.txt, case_02.txt, case_03.txt, case_04.txt, case_05.txt, case_06.txt, case_07.txt, case_08.txt, case_09.txt, case_10.txt, case_11.txt, case_12.txt, case_13.txt, case_14.txt, case_15.txt, case_16.txt, case_17.txt, case_18.txt, case_19.txt, case_20.txt, case_21.txt, case_22.txt, case_23.txt, case_24.txt, case_25.txt, case_26.txt, sample_00.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| case_00.txt | AC | 124 ms | 6132 KiB |
| case_01.txt | AC | 120 ms | 5900 KiB |
| case_02.txt | AC | 121 ms | 5940 KiB |
| case_03.txt | AC | 123 ms | 5888 KiB |
| case_04.txt | AC | 121 ms | 5928 KiB |
| case_05.txt | AC | 123 ms | 5904 KiB |
| case_06.txt | AC | 124 ms | 5868 KiB |
| case_07.txt | AC | 120 ms | 6008 KiB |
| case_08.txt | AC | 120 ms | 5948 KiB |
| case_09.txt | AC | 123 ms | 6036 KiB |
| case_10.txt | AC | 124 ms | 6104 KiB |
| case_11.txt | AC | 120 ms | 6060 KiB |
| case_12.txt | AC | 121 ms | 6016 KiB |
| case_13.txt | AC | 120 ms | 5904 KiB |
| case_14.txt | AC | 122 ms | 5928 KiB |
| case_15.txt | AC | 122 ms | 5928 KiB |
| case_16.txt | AC | 125 ms | 6056 KiB |
| case_17.txt | AC | 120 ms | 6000 KiB |
| case_18.txt | AC | 121 ms | 5904 KiB |
| case_19.txt | AC | 121 ms | 5932 KiB |
| case_20.txt | AC | 77 ms | 5024 KiB |
| case_21.txt | AC | 9 ms | 3612 KiB |
| case_22.txt | AC | 102 ms | 5748 KiB |
| case_23.txt | AC | 26 ms | 4044 KiB |
| case_24.txt | AC | 18 ms | 3804 KiB |
| case_25.txt | AC | 31 ms | 5752 KiB |
| case_26.txt | AC | 2 ms | 3432 KiB |
| sample_00.txt | AC | 1 ms | 3572 KiB |
| sample_01.txt | AC | 2 ms | 3496 KiB |
| sample_02.txt | AC | 2 ms | 3572 KiB |
| sample_03.txt | AC | 2 ms | 3568 KiB |