Submission #5375

# Submission time Handle Problem Language Result Execution time Memory
5375 2014-04-18T16:32:46 Z baneling100 공장 (KOI13_factory) C++
9.4 / 20
212 ms 9412 KB
#include <stdio.h>
#include <algorithm>

using namespace std;

pair <int,int> a[500001];
int n, check[1000001], idx[131073], nn, ans;

void input(void)
{
    int i, temp;

    scanf("%d",&n);
    for(i=1 ; i<=n ; i++)
    {
        scanf("%d",&temp);
        check[temp]=i;
    }
    for(i=1 ; i<=n ; i++)
    {
        scanf("%d",&temp);
        a[i]=make_pair(check[temp],i);
    }
    sort(a+1,a+n+1);
    for(nn=1 ; nn<n ; nn*=2);
}

void process(void)
{
    int i, temp, hab;

    for(i=n ; i>=1 ; i--)
    {
        temp=a[i].second-1;
        hab=0;
        while(temp>0)
        {
            hab+=idx[temp];
            temp&=~(~temp+1);
        }
        ans+=hab;
        temp=a[i].second;
        while(temp<=nn)
        {
            idx[temp]++;
            temp+=temp&(~temp+1);
        }
    }
}

void output(void)
{
    printf("%d",ans);
}

int main(void)
{
    input();
    process();
    output();

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 9412 KB Output is correct
2 Correct 0 ms 9412 KB Output is correct
3 Correct 0 ms 9412 KB Output is correct
4 Correct 0 ms 9412 KB Output is correct
5 Correct 4 ms 9412 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 9412 KB Output is correct
2 Correct 0 ms 9412 KB Output is correct
3 Correct 8 ms 9412 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 16 ms 9412 KB Output is correct
2 Correct 24 ms 9412 KB Output is correct
3 Correct 40 ms 9412 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 48 ms 9412 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 212 ms 9412 KB Output isn't correct
2 Halted 0 ms 0 KB -