백준 - 여왕벌 (10836번 - KOI)
링크 문제를 꼼꼼히 읽어봐야 하는 문제이다. 주어지는 왼쪽, 위 배열은 항상 증가하므로 나머지 애벌레들의 크기는 맨 위 애벌레의 크기와 항상 같다는 걸 알 수 있다. (위 애벌레의 증가율은 항상 왼쪽, 왼쪽 위 애벌레 이상이므로) 문제는 왼쪽, 위쪽 애벌레의 최종 크기를 구하는 거였는데 최대가 1400 * 100만이라 각 쿼리마다 0, 1, 2 를 카운트해주면 시간초과가 날 것 같아 lazy propagate 구간합 업데이트를 이용했다. 0, 1, 2의 개수에 대해 각각 세그먼트 트리를 만들어 해당 구간의 개수를 카운트해주고 왼쪽, 위쪽 애벌레에 더해주었다. #include<iostream> #include<memory.h> #include<algorithm> #include<math.h> #include<string> #include<vector> #include<stack> #include<queue> #include<map> #include<set> using namespace std; #define FIO ios_base::sync_with_stdio(false); cin.tie(NULL) #define pii pair<int, int> #define pdd pair<double, double> #define pic pair<int, char> #define ll long long #define vi vector<int> #define vl vector<long long> #define vc vector<char> #define vii vector<pii> #define IMAX 2000000001 #define LMAX 1000000000000000000 #define DMAX 0xFFFFFFFFFFFFF int m...