제출 #546073

#제출 시각아이디문제언어결과실행 시간메모리
546073andrei_boaca수열 (APIO14_sequence)C++14
0 / 100
38 ms1748 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll n,k,v[100005],s[100005],ans=1e18,maxim; vector<int> sol; int main() { cin>>n>>k; k++; for(int i=1;i<=n;i++) { cin>>v[i]; s[i]=s[i-1]+v[i]; maxim=max(maxim,v[i]); } ll avg=s[n]/k; ll steps=200; while(steps--) { vector<int> poz; ll last=0; ll rez=0; for(int i=1;i<=n;i++) if(i==n||(s[i]-s[last]>avg&&poz.size()<k)) { ll p=i-1; if(p==last||i==n) p++; ll val=s[p]-s[last]; val*=val; rez+=val; poz.push_back(p); last=p; } if(poz.size()<=k) { if(rez<ans) { ans=rez; sol=poz; } } avg++; } cout<<(s[n]*s[n]-ans)/2<<'\n'; for(int i=0;i+1<sol.size();i++) { if(i!=0) cout<<' '; cout<<sol[i]; } return 0; }

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

sequence.cpp: In function 'int main()':
sequence.cpp:25:51: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   25 |             if(i==n||(s[i]-s[last]>avg&&poz.size()<k))
      |                                         ~~~~~~~~~~^~
sequence.cpp:36:22: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   36 |         if(poz.size()<=k)
      |            ~~~~~~~~~~^~~
sequence.cpp:47:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |     for(int i=0;i+1<sol.size();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...
#Verdict Execution timeMemoryGrader output
Fetching results...