제출 #555592

#제출 시각아이디문제언어결과실행 시간메모리
555592KhizriAliens (IOI16_aliens)C++17
12 / 100
177 ms6220 KiB
#include "aliens.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define F first #define S second #define INF 1e18 #define all(v) (v).begin(),(v).end() #define rall(v) (v).rbegin(),(v).rend() #define pii pair<int,int> #define pll pair<ll,ll> #define OK cout<<"Ok"<<endl; #define MOD (ll)(1e9+7) #define endl "\n" //------------------- const int mxn=500+5; ll dp[mxn][mxn],x[mxn],y[mxn],color[mxn][mxn],mx[mxn][mxn],mn[mxn][mxn]; pii arr[mxn]; ll solve(int n,int m){ for(int ind=1;ind<=n;ind++){ for(int i=min(x[ind],y[ind]);i<=max(x[ind],y[ind]);i++){ for(int j=min(x[ind],y[ind]);j<=max(x[ind],y[ind]);j++){ color[i][j]=1; } } } int ans=0; for(int i=0;i<m;i++){ for(int j=0;j<m;j++){ if(color[i][j]){ ans++; } } } return ans; } bool f(pii a,pii b){ return min(a.F,a.S)<min(b.F,b.S); } long long take_photos(int n, int m, int k, vector<int> vt,vector<int> c) { for(int i=0;i<vt.size();i++){ arr[i+1].F=min(vt[i],c[i]); arr[i+1].S=max(vt[i],c[i]); x[i+1]=vt[i]; y[i+1]=c[i]; } if(n<=50&&m<=100&&k==n){ //return solve(n,m); } sort(arr+1,arr+n+1,f); for(int i=1;i<=n;i++){ int maxs=-1,mins=1e8; for(int j=i;j<=n;j++){ maxs=max(maxs,max(arr[j].F,arr[j].S)); mins=min(mins,min(arr[j].F,arr[j].S)); mx[i][j]=maxs; mn[i][j]=mins; } } for(int i=1;i<=n;i++){ dp[1][i]=(mx[1][i]-mn[1][i]+1)*(mx[1][i]-mn[1][i]+1); } for(int i=2;i<=k;i++){ for(int j=1;j<=n;j++){ dp[i][j]=dp[i-1][j]; for(int kk=1;kk<=j;kk++){ dp[i][j]=min(dp[i][j],dp[i-1][kk-1]+(mx[kk][j]-mn[kk][j]+1)*(mx[kk][j]-mn[kk][j]+1)); } } } /* for(int i=1;i<=k;i++){ for(int j=1;j<=n;j++){ cout<<dp[i][j]<<' '; } cout<<endl; } */ return dp[k][n]; } /* 5 7 2 0 3 4 4 4 6 4 5 4 6 2 6 2 1 4 4 1 */

컴파일 시 표준 에러 (stderr) 메시지

aliens.cpp: In function 'long long int take_photos(int, int, int, std::vector<int>, std::vector<int>)':
aliens.cpp:42:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |     for(int i=0;i<vt.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...