제출 #201297

#제출 시각아이디문제언어결과실행 시간메모리
201297guangxuanBigger segments (IZhO19_segments)C++14
37 / 100
1578 ms3064 KiB
#include <bits/stdc++.h> using namespace std; int a[500009]; long long rs[500009]; pair<int,long long> dp[500009]; int main(){ int n; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&a[i]); rs[i+1]=rs[i]+a[i]; } for(int i=1;i<=n;i++){ dp[i] = make_pair(1,rs[i]); for(int j=1;j<i;j++){ if(rs[i]-rs[j]>=dp[j].second){ if(dp[i].first<dp[j].first+1){ dp[i] = {dp[j].first+1,rs[i]-rs[j]}; } else if (dp[i].first==dp[j].first+1){ dp[i].second = min(dp[i].second,rs[i]-rs[j]); } } } } printf("%d", dp[n].first); }

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

segments.cpp: In function 'int main()':
segments.cpp:11:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
  ~~~~~^~~~~~~~~
segments.cpp:13:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&a[i]);
   ~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...