https://www.acmicpc.net/problem/18246
프로그래밍 막 배우기 시작 했는데 랜덤 문제 돌려서
#include <iostream> using namespace std; int main() { cin.tie(NULL); cout.tie(NULL); ios::sync_with_stdio(false); int N, M, x1, x2, y1, y2, ans; int arr[1501][1501]; cin >> N >> M; for(int a = 0; a < N; a++){ cin >> x1 >> y1 >> x2 >> y2; for(int x = x1; x < x2; x++){ for(int y = y1; y < y2; y++){ arr[x][y]++; } } } for(int a = 0; a < M; a++){ ans = 0; cin >> x1 >> y1 >> x2 >> y2; for(int x = x1; x < x2; x++){ for(int y = y1; y < y2; y++){ if(arr[x][y] > ans){ ans = arr[x][y]; } } } cout << ans << "\n"; } return 0; }이렇게 짜봤는데 배열 크기가 너무 커서 프로그램이 안 돌아가네요 초보랑 안 맞는 문제인가요? 배열 크기 줄여서 예시 넣으면 잘 나오긴 하는데
네 초보랑 안 맞아요
님 코드는 최악의 경우 1500*1500*N+1500*1500*M의 시간이 걸리는데 N과 M이 모두 10만이면 5000억번에 가까운 연산이 필요해요 시간복잡도 공부 ㄱ
감사합니다 - dc App
정답률 높은데 완전 초보문제구만 ㅇㅅㅇ
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
초보면 이거 풀지 마셈 ㅇㅇ