# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
22844 | 삼*전자 그린픽스 (#40) | Unifying Values (KRIII5_UV) | C++98 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<stdio.h>
#include<algorithm>
#include<set>
#include<map>
#include<vector>
using namespace std;
#define I 16384
#define M 1000000007
typedef pair<long long int, int> pii;
int n;
long long int a[10009];
long long int s[10009];
long long int res;
long long int d[2][10009];
long long int td[10009];
map<long long int, vector<int>> xx;
set<long long int> ss;
long long int ms[2 * I];
void update_ms(int i, long long int k) {
ms[i + I] = k;
i = i + I;
i /= 2;
while (i > 0) {
ms[i] = (ms[i * 2] + ms[i * 2 + 1]) % M;
i /= 2;
}
}
int get_ms(int dep, int ql, int qr, int ll, int rr) {
if (rr < ql || qr < ll) return 0;
if (ql <= ll && rr <= qr) { return ms[dep]; }