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
AC × 4
AC × 31
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