# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
29319 | 2017-07-19T02:32:15 Z | 서규호(#1166) | Meteors (POI11_met) | C++14 | 0 ms | 1844 KB |
#include <bits/stdc++.h> #include <unistd.h> #define pii pair<int,int> #define pll pair<lld,lld> #define pb push_back #define next nextt #define left leftt #define right rightt #define lld long long #define Inf 1000000000 #define Mod 1000000007 #define Linf 1000000000000000000LL #define get gett using namespace std; int bsize; int N,M,K; int a[300002],need[300002]; int x[300002],y[300002],z[300002]; lld cnt[550][300002]; int get(int it,int color){ int tmp = 0; for(int i=1; i<=it; i++) if(color == a[i]) tmp++; return tmp; } int main(){ //freopen("input.txt","r",stdin); return 0; scanf("%d %d",&N,&M); for(int i=1; i<=M; i++) scanf("%d",&a[i]); for(int i=1; i<=N; i++) scanf("%d",&need[i]); scanf("%d",&K); bsize = sqrt(K); for(int i=1; i<=K; i++){ scanf("%d %d %d",&x[i],&y[i],&z[i]); if(x[i] <= y[i]){ cnt[i/bsize][x[i]]+=z[i]; cnt[i/bsize][y[i]+1]-=z[i]; }else{ cnt[i/bsize][1]+=z[i]; cnt[i/bsize][y[i]+1]-=z[i]; cnt[i/bsize][x[i]]+=z[i]; } } for(int i=1/bsize; i<=K/bsize; i++){ for(int j=1; j<=M; j++){ cnt[i][j] += cnt[i][j-1]; cnt[K/bsize+1][j] = cnt[i][j]; } for(int j=1; j<=N; j++) cnt[i][j] = 0; for(int j=1; j<=M; j++){ cnt[i][a[j]] += cnt[K/bsize+1][j]; cnt[i][a[j]] = min(cnt[i][a[j]],(lld)Inf); } } for(int i=1; i<=N; i++){ lld sum = 0; int s = 0,e; for(int j=1/bsize; j<=K/bsize; j++){ sum += cnt[j][i]; if(sum >= need[i]){ s = max(1,j*bsize); e = min((j+1)*bsize-1,K); sum -= cnt[j][i]; break; } } if(s == 0){ puts("NIE"); continue; } for(int j=s; j<=e; j++){ lld tmp; if(x[j] <= y[j]){ tmp = get(y[j],i)-get(x[j]-1,i); }else{ tmp = get(y[j],i)+get(M,i)-get(x[j]-1,i); } sum += tmp*z[j]; if(sum >= need[i]){ printf("%d\n",j); break; } } } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 0 ms | 1844 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 0 ms | 1844 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 0 ms | 1844 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 0 ms | 1844 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 0 ms | 1844 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 0 ms | 1844 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 0 ms | 1844 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 0 ms | 1844 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |