Submission #1294626

#TimeUsernameProblemLanguageResultExecution timeMemory
1294626tudor_costinSails (IOI07_sails)C++20
Compilation error
0 ms0 KiB
#pragma GCC optimize("Ofast")
#pragma GCC target("avx2")
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int Nmax=1e5+5;
vector<int> poz[Nmax];
pair<int,int> a[Nmax];
void unite(vector<int>& a,vector<int>& b)
{
    if(a.size()<b.size()) swap(a,b);
    for(int x:b) a.push_back(x);
    b.clear();
    b.shrink_to_fit();
    return;
}
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    int n;
    cin>>n;
    int maxi=0;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i].first>>a[i].second;
    }
    sort(a+1,a+n+1);
    for(int i=1;i<=n;i++)
    {
        int h=a[i].first,k=a[i].second;
        if(h!=a[i-1].first)
        {
            for(int j=a[i-1].first+1;j<=h;j++) poz[0].push_back(j);
        }
        int last=0;
        for(int cnt=0;cnt<=maxi;cnt++)
        {
            if(poz[cnt].size()<k)
            {
                k-=poz[cnt].size();
            }
            else if(poz[cnt].size()==k)
            {
                last=cnt+1;
                k=0;
                break;
            }
            else
            {
                last=cnt;
                break;
            }
        }
        for(int cnt=1;cnt<=last-2;cnt++)
        {
            swap(poz[cnt],poz[0]);
        }
        while(k>0)
        {
            poz[last+1].push_back(poz[last].back());
            poz[last].pop_back();
            k--;
        }
        if(last>0)
        {
            unite(poz[last],poz[last-1]);
            swap(poz[last-1],poz[0]);
        }
        maxi=max(maxi,last+1);
    }
    ll ans=0;
    for(ll cnt=0;cnt<=maxi;cnt++)
    {
        ll nums=poz[cnt].size();
        ans+=nums*cnt*(cnt-1)/2;
    }
    cout<<ans<<'\n';
    return 0;
}

Compilation message (stderr)

In file included from /usr/include/c++/13/string:43,
                 from /usr/include/c++/13/bitset:52,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:52,
                 from sails.cpp:3:
/usr/include/c++/13/bits/allocator.h: In destructor 'constexpr std::_Vector_base<int, std::allocator<int> >::_Vector_impl::~_Vector_impl()':
/usr/include/c++/13/bits/allocator.h:184:7: error: inlining failed in call to 'always_inline' 'constexpr std::allocator< <template-parameter-1-1> >::~allocator() noexcept [with _Tp = int]': target specific option mismatch
  184 |       ~allocator() _GLIBCXX_NOTHROW { }
      |       ^
In file included from /usr/include/c++/13/vector:66,
                 from /usr/include/c++/13/functional:64,
                 from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:53:
/usr/include/c++/13/bits/stl_vector.h:133:14: note: called from here
  133 |       struct _Vector_impl
      |              ^~~~~~~~~~~~