Submission #889713

#TimeUsernameProblemLanguageResultExecution timeMemory
889713Ghulam_JunaidAliens (IOI16_aliens)C++17
4 / 100
1 ms604 KiB
#include <bits/stdc++.h> // #include "grader.cpp" using namespace std; typedef long long ll; const int N = 4005; const int inf = 1e9; bool vis[N][N]; ll dp[N][N]; ll take_photos(int n, int m, int k, vector<int> r, vector<int> c){ if (n == k){ ll ans = 0; int last = 0; for (int i = 0; i < m; i++){ // we are at (i, i); int len = 0; for (int j = 0; j < n; j++){ if (vis[r[j]][c[j]]) continue; if (r[j] == i) len = max(len, c[j] - i + 1); if (c[j] == i) len = max(len, r[j] - i + 1); } for (int x = i; x < i + len; x++){ for (int y = i; y < i + len; y++){ vis[x][y] = 1; } } } for (int i=0; i<m; i++) for (int j=0; j<m; j++) ans += vis[i][j]; return ans; } for (int i=0; i<m; i++) for (int j=0; j<=k; j++) dp[i][j] = inf; for (int i = m - 1; i >= 0; i--){ int mx = -1; for (int j = 0; j < n; j++) if (r[j] >= i) mx = max(mx, r[j]); for (int j = 0; j <= k; j++){ if (mx < i){ dp[i][j] = 0; continue; } if (j == 0) continue; for (int ip = i + 1; ip <= m; ip++){ dp[i][j] = min(dp[i][j], (ip - i) * (ip - i) + dp[ip][j - 1]); } } for (int j = 1; j <= k; j++) dp[i][j] = min(dp[i][j], dp[i][j - 1]); } return (ll)dp[0][k]; }

Compilation message (stderr)

aliens.cpp: In function 'll take_photos(int, int, int, std::vector<int>, std::vector<int>)':
aliens.cpp:16:13: warning: unused variable 'last' [-Wunused-variable]
   16 |         int last = 0;
      |             ^~~~
#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...