입력이 10만개에 가까우면 j 배열의 크기는 약 50억이 됩니다. int 하나당 4byte 라고 하면 약 19기가바이트 의 메모리를 요구하게 됩니다.
j 배열 없이 답을 구하는 방법을 찾아보세요
13900번 - 순서쌍의 곱의 합
j벡터를 지우고 해봤는데, 시간초과나네요... 반복문을 하나만 써서 해야하나요??
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
vector<int> i;
int t;
int n;
cin >> t;
for (int z = 0;z < t;z++) {
cin >> n;
i.push_back(n);
}
int park = i.size();
park--;
long long sum = 0;
for (int a = 0;a < park;a++) {
for (int b = a + 1;b < i.size(); b++) {
sum += i[a] * i[b];
}
}
cout << sum;
return 0;
}
댓글을 작성하려면 로그인해야 합니다.
husy951 7년 전
메모리 초과라고 합니다! 어느 부분을 수정해야할까요?