Submission #1273999

#TimeUsernameProblemLanguageResultExecution timeMemory
1273999coderg300711Aliens (IOI16_aliens)C++20
12 / 100
40 ms2368 KiB
#include "aliens.h" #include <bits/stdc++.h> using namespace std; using ll = long long; #define all(x) (x).begin(), (x).end() #define REP(i, l, r) for (int i = (l); i < (r); ++i) #define sz(x) int(x.size()) long long take_photos(int n, int m, int K,vector<int> r,vector<int> c) { vector<pair<int, int>> pts(n); REP(i, 0, n) { if (r[i]>c[i])swap(r[i],c[i]); pts[i]=make_pair(r[i],c[i]); } sort(all(pts)); { vector<pair<int, int>> pts2; for(int i=0;i<n;i++) { if (i!=n-1 && pts[i].first==pts[i+1].first)continue; pts2.push_back(pts[i]); } pts=pts2; n=sz(pts); } { vector<pair<int, int>> pts2; int mx_c=-1; for(int i=0;i<n;i++) { if(pts[i].second<=mx_c)continue; pts2.push_back(pts[i]); mx_c=max(mx_c,pts[i].second); } pts=pts2; n=sz(pts); } vector<vector<ll>> dp(n+1,vector<ll>(K+1,1LL<<60)); dp[0][0]=0; for(int i=1;i<=n;i++){ for(int j=0;j<i;j++){ ll diff=pts[i-1].second-pts[j].first+1; ll cost=diff*diff; for(int k=0;k<K;k++)dp[i][k+1]=min(dp[i][k+1],dp[j][k]+cost); } } ll ans=1LL<<60; for(int i=0;i<=K;i++)ans=min(ans,dp[n][i]); return ans; }

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...