#include <bits/stdc++.h>
#define ll long long
#define sz(x) int(x.size())
#define all(x) x.begin(), x.end()
#define fr first
#define se second
#define pb push_back
#define mp make_pair
using namespace std;
vector<vector<ll>>vis;
ll tot;
ll calc(ll x, ll y)
{
ll i, j, cant=0;
for(i=x; i<=y; i++)
{
for(j=x; j<=y; j++)
{
if(!vis[i][j])
cant++;
}
}
return cant;
}
void un(ll x, ll y)
{
ll i, j;
for(i=x; i<=y; i++)
{
for(j=x; j<=y; j++)
{
if(!vis[i][j])
tot++;
vis[i][j]=1;
}
}
}
long long take_photos(int n, int m, int k, std::vector<int> r, std::vector<int> c)
{
ll cant = n, i, mi, uni, cos, ag;
tot=n;
vis.resize(m,vector<ll>(m,0));
vector<pair<ll, ll>> v, nv;
for (i = 0; i < n; i++)
{
v.pb({r[i], c[i]});
vis[r[i]][c[i]]=1;
}
sort(all(v));
while (cant > k)
{
mi = LLONG_MAX;
uni = 0;
for (i = 0; i < sz(v)-1; i++)
{
cos = calc(v[i].fr, v[i+1].fr);
if (mi > cos)
{
mi = cos;
uni = i;
}
}
un(v[uni].fr,v[uni+1].fr);
cant--;
nv.resize(0);
for(i=0; i<sz(v); i++)
{
if(uni==i)
{
nv.pb({v[i].fr,v[i+1].se});
i++;
}
else
nv.pb(v[i]);
}
swap(nv,v);
}
return tot;
}
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... |