Submission #1222818

#TimeUsernameProblemLanguageResultExecution timeMemory
1222818MalixAliens (IOI16_aliens)C++20
0 / 100
0 ms328 KiB
#include "aliens.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<vi> vii; typedef pair<int,int> pi; typedef vector<pi> pii; typedef tuple<int,int,int> ti; typedef vector<ll> li; typedef vector<li> lii; #define REP(i,a,b) for(int i=a;i<b;i++) #define F first #define S second #define PB push_back #define LSOne(s) ((s)&(-s)) #define all(x) (x).begin(),(x).end() ll INF=1000000000000000010; int inf=1e9+10; ll M=1e9+7; long long take_photos(int n, int m, int k, std::vector<int> a, std::vector<int> c) { sort(all(a)); a.erase(unique(all(a)),a.end()); n=a.size(); if(k>=n)return (ll)n; if(k==1)return (((ll)a[n-1]-(ll)a[0]+1)*((ll)a[n-1]-(ll)a[0]+1)); ll ans=0; vector<pi> b(n); vector<ll> val(n,1); REP(i,0,n)b[i]={a[i],a[i]}; while(n>k){ vector<ll> tmp(n); REP(i,0,n-1)tmp[i]=(b[i+1].S-b[i].F+1)*(b[i+1].S-b[i].F+1)-val[i]-val[i+1]; int pos=0; REP(i,1,n-1)if(tmp[i]<tmp[pos])pos=i; b[pos].S=b[pos+1].S; b.erase(b.begin()+pos+1); val[pos]=tmp[pos]+val[pos]+val[pos+1]; val.erase(val.begin()+pos+1); n--; } REP(i,0,k)ans+=((ll)b[i].S-(ll)b[i].F+1)*((ll)b[i].S-(ll)b[i].F+1); return ans; }

Compilation message (stderr)

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
      |         ^~~~
#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...