제출 #26840

#제출 시각아이디문제언어결과실행 시간메모리
26840yutaka1999Editor (BOI15_edi)C++14
100 / 100
309 ms50336 KiB
#include <cstdio> #include <cstdlib> #include <cstdlib> #include <algorithm> #include <vector> #include <cstring> #define SIZE 300005 #define BT 20 using namespace std; int A[SIZE]; int par[SIZE][BT]; int mn[SIZE][BT]; int ans[SIZE]; int main() { int n; scanf("%d",&n); memset(par,-1,sizeof(par)); memset(mn,-1,sizeof(mn)); for(int i=0;i<n;i++) { int a; scanf("%d",&a); if(a>0) { ans[i]=a; par[i][0]=i; } else { a=-a; int to=i-1; for(int j=BT-1;j>=0;j--) { if(mn[to][j]>=a) { to=par[to][j]; } } to--; if(to==-1) { ans[i]=0; mn[i][0]=a; } else { ans[i]=ans[to]; int now=to,c=a; for(int j=0;j<BT;j++) { par[i][j]=now; mn[i][j]=c; if(now!=-1) { c=min(c,mn[now][j]); now=par[now][j]; } } } } printf("%d\n",ans[i]); } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

edi.cpp: In function 'int main()':
edi.cpp:20:16: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
                ^
edi.cpp:26:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&a);
                 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...