Submission #14045

#TimeUsernameProblemLanguageResultExecution timeMemory
14045jinmo123이상한 수열 (OJUZ10_bizarre)C++98
24 / 100
1000 ms3036 KiB
#include <stdio.h> #include <stdlib.h> #define MAX 2000000 #define DEBUG 0 char hashtable[MAX + 1]; // LOL, initial value is 0! initial size is sizeof(void *) * 1415! int main() { int N, b; scanf("%d", &N); int i; int n = 0; char is_lower_than_N = 1; for(i = 0; i < N; i++) { if(is_lower_than_N) { scanf("%d", &b); if(i == N - 1) { scanf("%d", &N); is_lower_than_N = 0; } } else b = n; char *h = &hashtable[b + MAX / 2]; if(!*h) { *h = 1; n++; } #if DEBUG if(!*h) { n++; hash *c=(hash *)malloc(sizeof(hash)); c->val = b; c->next = 0; *h = c; } // gee, need to initialize. else { hash *cur_h = *h; hash *prev_h; char found = 0; while(cur_h) { if(cur_h->val == b) { found = 1; break; } prev_h = cur_h; cur_h = cur_h->next; } if(!found) { cur_h = (hash *)malloc(sizeof(hash)); cur_h->val = b; cur_h->next = 0; prev_h->next = cur_h; n++; } } #endif } printf("%d", b); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...