题解
2024-07-08 13:03:40
发布于:广东
23阅读
0回复
0点赞
向中靠拢!!!
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
char a[1000005];
vector <int> v;
int main(){
	int n;
	cin >> n >> a + 1;
    for(int i = 1; i <= n; i++){
        if(a[i] == '*') v.push_back(i);
    }
    if(v.size() == 0){
        cout << 0;
        return 0;
    }
    int mid = v[v.size() / 2];
    long long ct = 0;
    int l = mid - 1, r = mid + 1;
    for(int i = v.size() / 2 - 1; i >= 0; i--){
        ct += l - v[i];
        l--;
    }
    for(int i = v.size() / 2 + 1; i < v.size(); i++){
        ct += v[i] - r;
        r++;
    }
    cout << ct;
    
	return 0;
}
全部评论 1
别问为什么,问就是直觉(
2024-07-08 来自 广东
0man!
2024-07-28 来自 广东
0题解真香
2024-09-17 来自 广东
0








有帮助,赞一个