Submission #10440981


Source Code Expand

#include<bits/stdc++.h>
 
using namespace std;
set <int> q[26];
int n,op,x,l,r,t,len,cnt;
char s[500001]; 
char c;
 
 
int main(){
	int n;
	cin >> n;
	cin>>s;
	len=strlen(s);
	for (int i=0;i<len;i++) q[s[i]-97].insert(i);
	cin>>n;
	for (int i=1;i<=n;i++){
		cin>>op;
		if (op==1){
			cin>>x>>c;
			x--;
			q[s[x]-97].erase(x);
			s[x]=c;
			q[c-97].insert(x);
		}
		if (op==2){
			cin>>l>>r;
			l--;r--;
			cnt=0;
			for (int j=0;j<=25;j++) if (*q[j].lower_bound(l)<=r&&q[j].lower_bound(l)!=q[j].end()) cnt++;
			cout<<cnt<<endl;
		}
	}
}

Submission Info

Submission Time
Task E - Simple String Queries
User harish_49
Language C++14 (GCC 5.4.1)
Score 500
Code Size 571 Byte
Status AC
Exec Time 399 ms
Memory 24192 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 1
AC × 43
Set Name Test Cases
Sample 00-sample-00
All 00-sample-00, 01-handmade-00, 01-handmade-01, 01-handmade-02, 01-handmade-03, 01-handmade-04, 01-handmade-05, 01-handmade-06, 01-handmade-07, 01-handmade-08, 01-handmade-09, 01-handmade-10, 01-handmade-11, 02-small-00, 02-small-01, 02-small-02, 02-small-03, 02-small-04, 02-small-05, 02-small-06, 02-small-07, 02-small-08, 02-small-09, 02-small-10, 02-small-11, 02-small-12, 02-small-13, 02-small-14, 02-small-15, 02-small-16, 02-small-17, 02-small-18, 02-small-19, 03-large-00, 03-large-01, 03-large-02, 03-large-03, 03-large-04, 03-large-05, 03-large-06, 03-large-07, 03-large-08, 03-large-09
Case Name Status Exec Time Memory
00-sample-00 AC 1 ms 256 KiB
01-handmade-00 AC 258 ms 24192 KiB
01-handmade-01 AC 1 ms 256 KiB
01-handmade-02 AC 194 ms 24192 KiB
01-handmade-03 AC 399 ms 24192 KiB
01-handmade-04 AC 226 ms 24192 KiB
01-handmade-05 AC 161 ms 24192 KiB
01-handmade-06 AC 288 ms 24192 KiB
01-handmade-07 AC 248 ms 24192 KiB
01-handmade-08 AC 268 ms 24192 KiB
01-handmade-09 AC 229 ms 24192 KiB
01-handmade-10 AC 269 ms 24192 KiB
01-handmade-11 AC 265 ms 24192 KiB
02-small-00 AC 20 ms 256 KiB
02-small-01 AC 27 ms 256 KiB
02-small-02 AC 22 ms 256 KiB
02-small-03 AC 32 ms 256 KiB
02-small-04 AC 20 ms 256 KiB
02-small-05 AC 18 ms 256 KiB
02-small-06 AC 32 ms 256 KiB
02-small-07 AC 21 ms 256 KiB
02-small-08 AC 21 ms 256 KiB
02-small-09 AC 21 ms 256 KiB
02-small-10 AC 31 ms 256 KiB
02-small-11 AC 19 ms 256 KiB
02-small-12 AC 19 ms 256 KiB
02-small-13 AC 30 ms 256 KiB
02-small-14 AC 25 ms 256 KiB
02-small-15 AC 26 ms 256 KiB
02-small-16 AC 24 ms 256 KiB
02-small-17 AC 19 ms 256 KiB
02-small-18 AC 25 ms 256 KiB
02-small-19 AC 26 ms 256 KiB
03-large-00 AC 288 ms 24192 KiB
03-large-01 AC 287 ms 24192 KiB
03-large-02 AC 291 ms 24192 KiB
03-large-03 AC 288 ms 24192 KiB
03-large-04 AC 287 ms 24192 KiB
03-large-05 AC 292 ms 24192 KiB
03-large-06 AC 293 ms 24192 KiB
03-large-07 AC 292 ms 24192 KiB
03-large-08 AC 292 ms 24192 KiB
03-large-09 AC 288 ms 24192 KiB