8396 | 2024. 01. 15 15:32:31 | tomi7 | DNS szakaszok száma (75 pont) | cpp17 | Hibás válasz 68/75 | 8ms | 7212 KiB |
// Source: https://usaco.guide/general/io
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
string s;
cin>>s;
vector<int> a;
for(int i=0;i<n;i++){
if(s[i]=='A'){
a.push_back(1);
}
if(s[i]=='G'){
a.push_back(2);
}
if(s[i]=='T'){
a.push_back(3);
}
}
vector<int> legkozelebbig;
n=a.size();
int elozog=0;
for(int i=0;i<n;i++){
if(a[i]==2){
for(int j=elozog;j<i;j++){
legkozelebbig.push_back(i);
}
elozog=i;
}
}
for(int i=elozog;i<n;i++){
legkozelebbig.push_back(-1);
}
vector<int> hanydarabtvan;
int eddigi=0;
reverse(a.begin(), a.end());
for(int i=0;i<n;i++){
if(a[i]==3){
eddigi++;
}
hanydarabtvan.push_back(eddigi);
}
reverse(a.begin(), a.end());
int valasz=0;
reverse(hanydarabtvan.begin(), hanydarabtvan.end());
for(int i=0;i<n;i++){
if(a[i]==1){
valasz+=hanydarabtvan[legkozelebbig[i]];
}
}
cout<<valasz<<'\n';
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 68/75 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1828 KiB | |||
2 | Elfogadva | 0/0 | 8ms | 5004 KiB | |||
3 | Elfogadva | 3/3 | 3ms | 2360 KiB | |||
4 | Elfogadva | 4/4 | 3ms | 2444 KiB | |||
5 | Elfogadva | 4/4 | 2ms | 2424 KiB | |||
6 | Elfogadva | 4/4 | 3ms | 2708 KiB | |||
7 | Elfogadva | 4/4 | 3ms | 2836 KiB | |||
8 | Elfogadva | 3/3 | 3ms | 2840 KiB | |||
9 | Elfogadva | 3/3 | 3ms | 2836 KiB | |||
10 | Elfogadva | 4/4 | 3ms | 3040 KiB | |||
11 | Elfogadva | 4/4 | 3ms | 3092 KiB | |||
12 | Elfogadva | 4/4 | 3ms | 3020 KiB | |||
13 | Elfogadva | 4/4 | 3ms | 3228 KiB | |||
14 | Elfogadva | 4/4 | 3ms | 3436 KiB | |||
15 | Elfogadva | 3/3 | 8ms | 6244 KiB | |||
16 | Elfogadva | 4/4 | 8ms | 6712 KiB | |||
17 | Elfogadva | 4/4 | 8ms | 6900 KiB | |||
18 | Elfogadva | 4/4 | 8ms | 6912 KiB | |||
19 | Elfogadva | 4/4 | 7ms | 6944 KiB | |||
20 | Elfogadva | 4/4 | 8ms | 7212 KiB | |||
21 | Hibás válasz | 0/3 | 7ms | 7168 KiB | |||
22 | Hibás válasz | 0/4 | 7ms | 7144 KiB |