Submission #1162594
Source Code Expand
#include<cstdio> #include<stack> #include<algorithm> #include<cstring> using namespace std; int main(){ char s[200001]; scanf("%s",s); int l = strlen(s); int cnt = 0; stack<char> st; for(int i=0;i<l;i++){ if(s[i]=='S') st.push('S'); else{ if(!st.empty()&&st.top()=='S'){ st.pop(); cnt++; }else{ st.push('T'); } } } printf("%d\n",l-2*cnt); }
Submission Info
Submission Time | |
---|---|
Task | A - STring |
User | Dugong |
Language | C++14 (GCC 5.4.1) |
Score | 300 |
Code Size | 402 Byte |
Status | AC |
Exec Time | 3 ms |
Memory | 640 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:9:15: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%s",s); ^
Judge Result
Set Name | Sample | Subtask1 | All | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 200 / 200 | 100 / 100 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | example0, example1, example2 |
Subtask1 | example0, example1, example2, sub_corner0, sub_corner1, sub_corner2, sub_rand0, handmade0, handmade1 |
All | corner0, corner1, corner2, example0, example1, example2, handmade0, handmade1, maxrand0, sub_corner0, sub_corner1, sub_corner2, sub_rand0 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
corner0 | AC | 2 ms | 512 KB |
corner1 | AC | 2 ms | 640 KB |
corner2 | AC | 2 ms | 512 KB |
example0 | AC | 1 ms | 256 KB |
example1 | AC | 1 ms | 256 KB |
example2 | AC | 1 ms | 256 KB |
handmade0 | AC | 1 ms | 256 KB |
handmade1 | AC | 1 ms | 256 KB |
maxrand0 | AC | 3 ms | 384 KB |
sub_corner0 | AC | 1 ms | 256 KB |
sub_corner1 | AC | 1 ms | 256 KB |
sub_corner2 | AC | 1 ms | 256 KB |
sub_rand0 | AC | 1 ms | 256 KB |