답안 #650061

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
650061 2022-10-12T08:07:16 Z boris_mihov Bubble Sort 2 (JOI18_bubblesort2) C++17
0 / 100
261 ms 724 KB
#include "bubblesort2.h"
#include <algorithm>
#include <iostream>
#include <numeric>
#include <vector>

typedef long long llong;
const int MAXN = 500000 + 10;
const int INF  = 1e9;

int a[MAXN], n;
std::vector <int> ans;
llong inv;

void add(int idx, int value)
{
    for (int i = idx - 1 ; i >= 1 ; --i)
    {
        inv += (a[i] > a[idx]);
    }

    for (int i = idx + 1 ; i <= n ; ++i)
    {
        inv += (a[idx] > a[i]);
    }
}

void remove(int idx, int value)
{
    for (int i = idx - 1 ; i >= 1 ; --i)
    {
        inv -= (a[i] > a[idx]);
    }

    for (int i = idx + 1 ; i <= n ; ++i)
    {
        inv -= (a[idx] > a[i]);
    }
}

std::vector<int> countScans(std::vector<int> A,std::vector<int> X,std::vector<int> V)
{
    n = A.size();
    for (int i = 1 ; i <= n ; ++i) a[i] = A[i-1];

    inv = 0;
    for (int i = 1 ; i <= n ; ++i)
    {
        for (int j = i + 1 ; j <= n ; ++j)
        {
            inv += (a[i] > a[j]);
        }
    }

    ans.resize(X.size());
    for (int i = 0 ; i < X.size() ; --i)
    {
        remove(X[i] + 1, a[X[i] + 1]);   
        a[X[i] + 1] = V[i];
        add(X[i] + 1, a[X[i] + 1]);   
        ans[i] = inv;
    }

    return ans;
}

Compilation message

bubblesort2.cpp: In function 'std::vector<int> countScans(std::vector<int>, std::vector<int>, std::vector<int>)':
bubblesort2.cpp:56:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   56 |     for (int i = 0 ; i < X.size() ; --i)
      |                      ~~^~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 261 ms 724 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -