Submission #1291920

#TimeUsernameProblemLanguageResultExecution timeMemory
1291920LmaoLmaoAliens (IOI16_aliens)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define fi first #define se second #define name "a" #define int long long using namespace std; using ii = pair<int,long long>; using aa = array<int,3>; using ll = long long; const int N=1e6+5; const int MOD=1e9+7; int rmq[20][N]; ii dp[N]; int a[N]; int b[N]; int get(int l,int r) { int x=__lg(r-l+1); return max(rmq[x][l],rmq[x][r-(1<<x)+1]); } vector<ii> v; bool cmp(aa a,aa b,int cur) { if(a[0]*cur+a[1]!=b[0]*cur+b[1]) { return a[0]*cur+a[1]<b[0]*cur+b[1]; } else return a[2]<b[2]; } void alien(int delta) { deque<aa> q; q.push_back({v[1].fi*2,0,0}); for(int i=1;i<v.size();i++) { while(q.size()>1 && !cmp(q[0],q[1],v[i].se)) { q.pop_front(); } dp[i].fi=q[0][0]*v[i].se+q[0][1]+v[i].se*v[i].se; dp[i].se=q[0][2]+1; if(i<v.size()-1) { aa cur={v[i+1].fi*2,dp[i].fi+v[i+1].fi*v[i+1].fi+delta,dp[i].se}; q.push_back(cur); //cout << cur[0] << ' ' << cur[1] << endl; } //cout << dp[i].fi << endl; } return; } int take_photos(int m, int n, int k, int[] R, int[] C) for(int i=0;i<m;i++) { int x=R[i+1],y=C[i+1]; if(x<y) { a[y]=max(a[y],y-x+1); } else { a[x]=max(a[x],x-y+1); } } int tmp=-1e18; for(int i=n;i>0;i--) { if(a[i]-i<=tmp) a[i]=0; tmp=max(tmp,a[i]-i); b[i]=a[i]; } v.push_back({0,0}); for(int i=1;i<=n;i++) { if(a[i]) v.push_back({a[i]-i,i}); } int l=0,r=n*n; int ans=0; while(l<=r) { int mid = l + r >> 1; alien(mid); if(dp[v.size()-1].se<=k) { ans=mid; r=mid-1; } else { l=mid+1; } } int skibidi=0; for(int i=1;i<v.size();i++) { if(v[i].se-a[v[i].se]<v[i-1].se) { int tmp=v[i-1].se-(v[i].se-a[v[i].se]); skibidi+=tmp*tmp; } } alien(ans); if(ans==0) { cout << dp[v.size()-1].fi-skibidi; } else { cout << dp[v.size()-1].fi+ans*k-skibidi; } return 0; }

Compilation message (stderr)

aliens.cpp:53:73: error: expected ',' or '...' before 'R'
   53 | int     take_photos(int m,      int     n,      int     k,      int[]   R,      int[]   C)
      |                                                                         ^
aliens.cpp:54:5: error: expected initializer before 'for'
   54 |     for(int i=0;i<m;i++) {
      |     ^~~
aliens.cpp:54:19: error: 'm' was not declared in this scope
   54 |     for(int i=0;i<m;i++) {
      |                   ^
aliens.cpp:54:19: error: 'm' was not declared in this scope
aliens.cpp:54:19: error: 'm' was not declared in this scope
aliens.cpp:54:19: error: 'm' was not declared in this scope
aliens.cpp:54:19: error: 'm' was not declared in this scope
aliens.cpp:54:19: error: 'm' was not declared in this scope
aliens.cpp:54:19: error: 'm' was not declared in this scope
aliens.cpp:54:19: error: 'm' was not declared in this scope
aliens.cpp:54:19: error: 'm' was not declared in this scope
aliens.cpp:54:17: error: 'i' does not name a type; did you mean 'ii'?
   54 |     for(int i=0;i<m;i++) {
      |                 ^
      |                 ii
aliens.cpp:54:21: error: 'i' does not name a type; did you mean 'ii'?
   54 |     for(int i=0;i<m;i++) {
      |                     ^
      |                     ii
aliens.cpp:64:5: error: expected unqualified-id before 'for'
   64 |     for(int i=n;i>0;i--) {
      |     ^~~
aliens.cpp:64:17: error: 'i' does not name a type; did you mean 'ii'?
   64 |     for(int i=n;i>0;i--) {
      |                 ^
      |                 ii
aliens.cpp:64:21: error: 'i' does not name a type; did you mean 'ii'?
   64 |     for(int i=n;i>0;i--) {
      |                     ^
      |                     ii
aliens.cpp:69:5: error: 'v' does not name a type
   69 |     v.push_back({0,0});
      |     ^
aliens.cpp:69:22: error: expected unqualified-id before ')' token
   69 |     v.push_back({0,0});
      |                      ^
aliens.cpp:70:5: error: expected unqualified-id before 'for'
   70 |     for(int i=1;i<=n;i++) {
      |     ^~~
aliens.cpp:70:17: error: 'i' does not name a type; did you mean 'ii'?
   70 |     for(int i=1;i<=n;i++) {
      |                 ^
      |                 ii
aliens.cpp:70:22: error: 'i' does not name a type; did you mean 'ii'?
   70 |     for(int i=1;i<=n;i++) {
      |                      ^
      |                      ii
aliens.cpp:73:15: error: 'n' was not declared in this scope
   73 |     int l=0,r=n*n;
      |               ^
aliens.cpp:73:17: error: 'n' was not declared in this scope
   73 |     int l=0,r=n*n;
      |                 ^
aliens.cpp:75:5: error: expected unqualified-id before 'while'
   75 |     while(l<=r) {
      |     ^~~~~
aliens.cpp:87:5: error: expected unqualified-id before 'for'
   87 |     for(int i=1;i<v.size();i++) {
      |     ^~~
aliens.cpp:87:17: error: 'i' does not name a type; did you mean 'ii'?
   87 |     for(int i=1;i<v.size();i++) {
      |                 ^
      |                 ii
aliens.cpp:87:28: error: 'i' does not name a type; did you mean 'ii'?
   87 |     for(int i=1;i<v.size();i++) {
      |                            ^
      |                            ii
aliens.cpp:93:10: error: expected constructor, destructor, or type conversion before '(' token
   93 |     alien(ans);
      |          ^
aliens.cpp:94:5: error: expected unqualified-id before 'if'
   94 |     if(ans==0) {
      |     ^~
aliens.cpp:97:5: error: expected unqualified-id before 'else'
   97 |     else {
      |     ^~~~
aliens.cpp:100:5: error: expected unqualified-id before 'return'
  100 |     return 0;
      |     ^~~~~~
aliens.cpp:101:1: error: expected declaration before '}' token
  101 | }
      | ^
aliens.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
aliens_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~