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