제출 #382357

#제출 시각아이디문제언어결과실행 시간메모리
382357kshitij_sodaniAliens (IOI16_aliens)C++14
16 / 100
163 ms4332 KiB
//#pragma GCC optimize("Ofast,unroll-loops") #include <bits/stdc++.h> using namespace std; typedef long long llo; #define mp make_pair #define pb push_back #define a first #define b second #define xx int //#define endl '\n' #include "aliens.h" int mi[1000001]; llo dp[4001][4001]; long long take_photos(xx n, xx m, xx k,vector<xx> aa,vector<xx> bb) { vector<pair<llo,llo>> ss; for(llo i=0;i<m;i++){ mi[i]=-1; } for(llo i=0;i<n;i++){ mi[min(aa[i],bb[i])]=max(mi[min(aa[i],bb[i])],max(aa[i],bb[i])); } llo cur=-1; for(llo i=0;i<m;i++){ if(mi[i]!=-1){ if(mi[i]>cur){ ss.pb({i,mi[i]}); cur=mi[i]; } } } for(llo i=1;i<=k;i++){ for(llo j=0;j<ss.size();j++){ dp[j][i]=(ss[j].b-ss[0].a+1); dp[j][i]*=dp[j][i]; if(i==1){ continue; } for(llo ii=0;ii<j;ii++){ llo cur=max(ss[ii].b+1-ss[j].a,(llo)0); cur*=cur; dp[j][i]=min(dp[j][i],dp[ii][i-1]+(ss[j].b-ss[ii+1].a+1)*(ss[j].b-ss[ii+1].a+1)-cur); } } } /*cout<<dp[0][1]<<"::"<<dp[1][1]<<endl; for(auto j:ss){ cout<<j.a<<":"<<j.b<<endl; } cout<<endl; */ return dp[ss.size()-1][k]; }

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

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