#include <vector>
#include <iostream>
using namespace std;
typedef long long ll;
const int M=1002,N=502;
const ll inf=1e18;
ll dp[M][N],ndp[M][N];
ll take_photos(int n,int m,int k1,vector<int> r,vector<int> c)
{
vector<int> a(m+2,0);
for(int i=0;i<n;i++)
{
int x=min(r[i],c[i]);
a[x]=max(a[x],r[i]+c[i]-x-x+1);
// cout<<x<<' '<<r[i]<<' '<<c[i]<<endl;
}
for(int j=0;j<=m;j++)
{
// cout<<a[j]<<' ';
for(int i=0;i<=n;i++)
{
dp[j][i]=ndp[j][i]=inf;
}
}
// cout<<endl;
dp[0][0]=0;
for(int i=0;i<=m;i++)
{
// cout<<"Dp value for "<<i<<endl;
// for(int p=0;p<=m;p++)
// {
// for(int k=0;k<=n;k++)
// {
// cout<<dp[p][k]<<' ';
// }
// cout<<endl;
// }
// cout<<endl;
vector<ll> mi(m+2,inf);
for(int k=0;k<=n;k++)
{
for(int p=0;p<=m;p++)
{
dp[p][k]=min(dp[p][k],mi[p]+(1ll*p*p));
mi[p]=min(mi[p],dp[p][k]-(1ll*p*p));
if(p)mi[p]=min(mi[p],mi[p-1]);
}
}
// cout<<"Dp value for "<<i<<endl;
// for(int p=0;p<=m;p++)
// {
// for(int k=0;k<=n;k++)
// {
// cout<<dp[p][k]<<' ';
// }
// cout<<endl;
// }
// cout<<endl;
// if(i==m)continue;
for(int p=m;p>=0;p--)
{
for(int k=0;k<=n;k++)
{
if(p>=a[i])
{
// cout<<"updating "<<max(p-1,0)<<' '<<k<<' '<<dp[p][k]<<endl;
ndp[max(p-1,0)][k]=min(ndp[max(p-1,0)][k],dp[p][k]);
}
dp[p][k]=ndp[p][k];
ndp[p][k]=inf;
}
}
}
ll ans=inf;
// cout<<"Dp value for "<<i<<endl;
for(int p=0;p<=m;p++)
{
for(int k=0;k<=k1;k++)
{
ans=min(ans,dp[p][k]);
// cout<<dp[p][k]<<' ';
}
// cout<<endl;
}
// cout<<endl;
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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |