Submission #1175752

#TimeUsernameProblemLanguageResultExecution timeMemory
1175752HappyCapybaraAliens (IOI16_aliens)C++20
25 / 100
2095 ms6984 KiB
#include "aliens.h"
#include<bits/stdc++.h>
using namespace std;

#define ll long long

ll take_photos(int n, int m, int k, vector<int> r, vector<int> c){
    vector<pair<int,int>> p;
    for (int i=0; i<n; i++) p.push_back({min(r[i], c[i]), -max(r[i], c[i])});
    sort(p.begin(), p.end());
    vector<pair<ll,ll>> q;
    pair<int,int> prev = {-1, -1};
    for (int i=0; i<n; i++){
        if (prev.first <= p[i].first && -p[i].second <= prev.second) continue;
        q.push_back({p[i].first, -p[i].second});
        prev = {p[i].first, -p[i].second};
    }
    int s = q.size();
    //cout << s << endl;
    vector<vector<ll>> dp(s+1, vector<ll>(k+1, 0));
    for (int kl=0; kl<=k; kl++){
        for (int i=0; i<s; i++){
            dp[i][kl] = 1ll<<50;
            if (kl == 0) continue;
            for (int j=i; j<s; j++){
                ll c = pow(q[j].second-q[i].first+1, 2);
                if (i) c -= pow(max(0ll, q[i-1].second-q[i].first+1), 2);
                dp[i][kl] = min(dp[i][kl], c+dp[j+1][kl-1]);
            }
        }
    }
    return dp[0][k];
}

Compilation message (stderr)

aliens.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
aliens_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...