# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
67848 | 2018-08-15T11:05:18 Z | 검수컵(#1978, imsifile) | 흔한 자료구조 문제 (FXCUP3_easy) | C++ | 51 ms | 3404 KB |
#include<stdio.h> #include<algorithm> #include<vector> using namespace std; int N, Q, j2, itr[401010]; int min2(int a, int b){ if(a==0) return b; if(b==0) return a; return a>b?b:a; } struct mymy { int l, r; vector<int> vv; void rmq(int s, int e){ l=s+1, r=e+1; s+=j2, e+=j2; vv.clear(); while(1){ if(s%2) vv.push_back(itr[s]), s++; if(e%2==0) vv.push_back(itr[e]), e--; if(s>e) break; s>>=1, e>>=1; } sort(vv.begin(), vv.end()); } } mys[6060]; vector<int> con[40]; int mcn; void query(){ int C; vector<int> vs; scanf("%d", &C); vs.clear(); for(int i=0; i<C; i++){ int a; scanf("%d", &a); vs.push_back(a); } for(int i=0; i<con[C].size(); i++){ int x = con[C][i], fl=1; for(int j=0; j<C; j++){ if(vs[j] != mys[x].vv[j]){ fl=0; break; } } if(fl){ printf("%d %d\n", mys[x].l, mys[x].r); return; } } puts("-1"); } int main(){ scanf("%d%d", &N, &Q); for(j2=1; j2<N; j2<<=1); for(int i=0; i<N; i++) scanf("%d", &itr[j2+i]); for(int i=j2; --i;) itr[i]=min2(itr[i*2], itr[i*2+1]); for(int i=0; i<N; i++){ for(int j=i; j<N; j++){ mys[mcn].rmq(i,j); con[mys[mcn].vv.size()].push_back(mcn); mcn++; } } for(int t=0; t<Q; t++) query(); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 632 KB | Correct |
2 | Correct | 2 ms | 632 KB | Correct |
3 | Correct | 2 ms | 800 KB | Correct |
4 | Correct | 18 ms | 800 KB | Correct |
5 | Correct | 9 ms | 856 KB | Correct |
6 | Correct | 47 ms | 1004 KB | Correct |
7 | Correct | 36 ms | 1036 KB | Correct |
8 | Correct | 51 ms | 1100 KB | Correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 632 KB | Correct |
2 | Correct | 2 ms | 632 KB | Correct |
3 | Correct | 2 ms | 800 KB | Correct |
4 | Correct | 18 ms | 800 KB | Correct |
5 | Correct | 9 ms | 856 KB | Correct |
6 | Correct | 47 ms | 1004 KB | Correct |
7 | Correct | 36 ms | 1036 KB | Correct |
8 | Correct | 51 ms | 1100 KB | Correct |
9 | Runtime error | 22 ms | 3404 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
10 | Halted | 0 ms | 0 KB | - |