[문제 링크] : https://www.acmicpc.net/problem/2143
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int T, N, M;
int A[1001], B[1001];
vector<int> AV, BV;
int main(){
cin >> T;
cin >> N;
for(int i=0; i<N; i++){
cin >> A[i];
}
cin >> M;
for(int i=0; i<M; i++){
cin >> B[i];
}
for(int i=0; i<N; i++){
int sum = A[i];
AV.push_back(sum);
for(int j=i+1; j<N; j++){
sum += A[j];
AV.push_back(sum);
}
}
for(int i=0; i<M; i++){
int sum = B[i];
BV.push_back(sum);
for(int j=i+1; j<M; j++){
sum += B[j];
BV.push_back(sum);
}
}
sort(BV.begin(), BV.end());
long long Ans = 0;
for(int i=0; i<AV.size(); i++){
int tmp = T - AV[i];
int lo = lower_bound(BV.begin(), BV.end(), tmp) - BV.begin();
int hi = upper_bound(BV.begin(), BV.end(), tmp) - BV.begin();
Ans += (hi - lo);
}
cout << Ans << "\n";
return 0;
}
'알고리즘' 카테고리의 다른 글
[알고리즘] 백준 5557 - 1학년 (C++) (0) | 2025.01.13 |
---|---|
[알고리즘] 백준 2631 - 줄세우기 (C++) (0) | 2025.01.12 |
[알고리즘] 백준 21608 - 상어 초등학교 (C++) (0) | 2025.01.11 |
[알고리즘] 백준 1700 - 멀티탭 스케줄링 (C++) (0) | 2025.01.10 |
[알고리즘] 백준 11559 - Puyo Puyo (C++) (0) | 2025.01.09 |