Submission #555594

#TimeUsernameProblemLanguageResultExecution timeMemory
555594BT21tataAliens (IOI16_aliens)C++17
4 / 100
2 ms1236 KiB
#include "aliens.h"
#include <bits/stdc++.h>
using namespace std;

bool cover[105][105];
int cnt;

long long take_photos(int n, int m, int k, vector<int> r, vector<int> c)
{
    if(k==n)
    {
        for(int i=0; i<n; i++)
        {
            int x=r[i], y=c[i];
            if(x>y) swap(x, y);
            for(int j=x; j<=y; j++)
            {
                for(int e=x; e<=y; e++)
                {
                    cover[j][e]=1;
                }
            }

        }
        for(int i=0; i<m; i++)
        {
            for(int j=0; j<m; j++)
            {
                cnt+=cover[i][j];
            }
        }
        return cnt;
    }
    else
    {
        set<int>s;
        vector<int>v;
        int dp[505][505];
        for(int i=0; i<n; i++)
        {
            s.insert(r[i]+1);
        }

        v.push_back(0);
        for(auto it = s.begin(); it!=s.end(); ++it)
        {
            v.push_back(*it);
        }
        memset(dp, 63, sizeof(dp));
        dp[0][0]=0;
        dp[0][1]=0;
        dp[1][1]=1;
        for(int i=1; i<v.size(); i++)
        {
            for(int j=1; j<=min(i, k); j++)
            {
                for(int u=0; u<i; u++)
                {
                    dp[i][j]=min(dp[i][j], dp[u][j-1]+(abs(v[u+1]-v[i])+1)*(abs(v[u+1]-v[i])+1));
                }
            }
        }
        
        return dp[v.size()-1][k];
    }
}

Compilation message (stderr)

aliens.cpp: In function 'long long int take_photos(int, int, int, std::vector<int>, std::vector<int>)':
aliens.cpp:53:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |         for(int i=1; i<v.size(); i++)
      |                      ~^~~~~~~~~
#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...