Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- ifstream fin("window.in");
- ofstream fout("window.out");
- char s[1000005];
- long long n;
- long long f[30],r;
- const long long mod=1e9+7;
- int main(){
- ios_base::sync_with_stdio(false);
- cin.tie(nullptr);
- cin>>(s+1);
- n=strlen(s+1);
- for(long long i=1;i<=n;i++){
- r+=(i*(n-i+1))%mod;
- if(r>=mod)r-=mod;
- }
- for(long long i=n;i>=1;i--){
- long long mn(1e9+7);
- for(long long j=(long long)s[i]-95;j<=26;j++){
- mn=min(mn,((f[j])?f[j]:mod));
- }
- if(mn<1e9+7){
- r-=(i*(n-mn+1))%mod;
- r+=mod;
- r%=mod;
- }
- f[(long long)s[i]-96]=i;
- }
- cout<<r;
- return 0;
- }
Add Comment
Please, Sign In to add comment