Baekjoon #21757

Baekjoon #21757

1개의 풀이 · C++

문제 원문 보기 ↗

SOLUTION INFO

C++ · main.cpp

main.cpp
#include<bits/stdc++.h>

using namespace std;
typedef long long ll;

const int MAXN = 100000;
ll prefix[MAXN + 5];
ll L[MAXN + 5], R[MAXN + 5];

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);

    int N; cin >> N;
    for(int i=1;i<=N;i++) {
        cin >> prefix[i];
        prefix[i] += prefix[i - 1];
    }

    for(int i = 1; i <= N; i++) {
        L[i] = L[i - 1];
        if(prefix[N] == 4 * prefix[i]) L[i] ++;
    }

    for(int i = N - 1; i >= 1; i--) {
        R[i] = R[i + 1];
        if(prefix[N] * 3 == 4 * prefix[i]) R[i] ++;
    }

    ll answer = 0;
    for(int i = 2; i < N - 1; i++) {
        if(prefix[N] == prefix[i] * 2) answer += L[i - 1] * R[i + 1];
    }
    cout << answer;

    return 0;
}

SOLUTION DESCRIPTION

풀이 설명

등록된 풀이 설명이 없습니다.