Submission #773392

#TimeUsernameProblemLanguageResultExecution timeMemory
773392ttamxAliens (IOI16_aliens)C++14
12 / 100
98 ms2260 KiB
#include "aliens.h" #include<bits/stdc++.h> using namespace std; typedef long long ll; const int N=1e5+5; const int M=1e6+5; const int dbg=false; int l[N],r[N]; ll val[N],overlap[N]; int mn[M]; set<pair<int,int>> s; long long take_photos(int n, int m, int k, vector<int> r, vector<int> c) { for(int i=0;i<m;i++)mn[i]=m; for(int i=0;i<n;i++){ int x=r[i],y=c[i]; int st=min(x,y),ed=max(x,y); mn[ed]=min(mn[ed],st); } for(int i=0;i<m;i++){ if(mn[i]==m)continue; while(!s.empty()&&prev(s.end())->first>=mn[i])s.erase(prev(s.end())); s.emplace(mn[i],i); } if(dbg){ for(auto [x,y]:s)cerr << "(" << x << "," << y << ") "; cerr << "\n"; } n=0; for(auto [x,y]:s){ n++; l[n]=x; r[n]=y; ll sz=r[n]-l[n]+1; val[n]=sz*sz; } for(int i=1;i<n;i++){ ll res=max(0,r[i]-l[i+1]+1); overlap[i]=res*res; } vector<vector<ll>> dp(n+1,vector<ll>(k+1,1e18)); dp[0][0]=0; for(int i=1;i<=n;i++){ for(int j=1;j<=k;j++){ for(int x=1;x<=i;x++){ ll sz=r[i]-l[x]+1; dp[i][j]=min(dp[i][j],dp[x-1][j-1]+sz*sz-overlap[i]); } } } ll ans=1e18; for(int i=0;i<=k;i++)ans=min(ans,dp[n][i]); return ans; }

Compilation message (stderr)

aliens.cpp: In function 'long long int take_photos(int, int, int, std::vector<int>, std::vector<int>)':
aliens.cpp:30:18: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   30 |         for(auto [x,y]:s)cerr << "(" << x << "," << y << ") ";
      |                  ^
aliens.cpp:34:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   34 |     for(auto [x,y]:s){
      |              ^
#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...