Submission #5860

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
58602014-05-19 12:54:28gs12037Split the sequence (APIO14_sequence)C++98
100 / 100
652 ms90196 KiB
#include <stdio.h>
#include <algorithm>
#include <vector>
#define M 100004
#define INF 1234567890
using namespace std;
int n, k;
struct pp{
long long int a, b;
int pos;
};
vector<pp> v;
long long int d[2][M], ans, s[M];
int path[209][M], pri[M];
int main(){
int i, j;
pp e;
scanf("%d %d", &n, &k);
for (i = 1; i <= n; i++) scanf("%lld", &s[i]);
for (i = 1; i <= n; i++) s[i] = s[i - 1] + s[i];
for (i = 1; i <= k; i++){
v.clear();
for (j = i; j <= n; j++){
e.a = s[j]; e.b = d[0][j] - (long long)s[j] * s[j]; e.pos = j;
while (v.size() > 1){
int EE = v.size() - 1;
if ((v[EE].a - v[EE - 1].a)*(e.b - v[EE].b) >= (e.a - v[EE].a)*(v[EE].b - v[EE - 1].b)) v.pop_back();
else break;
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#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...