Submission #1190245

#TimeUsernameProblemLanguageResultExecution timeMemory
1190245meisgoodArranging Shoes (IOI19_shoes)C++20
Compilation error
0 ms0 KiB
#include "shoes.h"
#include <bits/stdc++.h>
using namespace std ;
#define int long long
struct segtree{
	int seg[200003] ;
	void build(int id,int l,int r){
		if (l==r) seg[id]=0 ;
		else {
			int md=(l+r)/2 ;
			build(id*2,l,md) ;
			build(id*2+1,md+1,r) ;
			seg[id]=0 ;
		}
	}
	void upd(int id,int l,int r,int x,int v){
		if (l==r&&l==x){
			seg[id]=v ;
		}
		else if (l>x||r<x) return ;
		else {
			int md=(l+r)/2 ;
			upd(id*2,l,md,x,v) ;
			upd(id*2+1,md+1,r,x,v) ;
			seg[id]=seg[id*2]+seg[id*2+1] ;
		}
	}
	int query(int id,int l,int r,int ql,int qr){
		if (ql<=l&&r<=qr) return seg[id] ;
		else if (l>qr||r<ql) return 0 ;
		else {
			int md=(l+r)/2 ;
			return query(id*2,l,md,ql,qr)+query(id*2+1,md+1,r,ql,qr) ;
		}
	}
} sss ;
bool used[200003] ;
long long count_swaps(std::vector<signed> arrr) {
	vector <int> arr=arrr ;
	int n=arr.size() ;
	int i,j ;
	arr.insert(arr.begin(),0) ;
	map<int,queue <int>> q ;
	for (i = 1 ; i <= n ; i ++){
		q[arr[i]].push(i) ;
	}
	sss.build(1,1,n) ;
	for (i = 1 ; i <= n ; i ++) sss.upd(1,1,n,i,1) ;
	int tt=0 ;
	for (i = 1 ; i <= n ; i ++){
		if (used[i]) continue ;
		int x=arr[i] ;
		if (x<0){
			int pos=q[-x].front() ;
			tt+=sss.query(1,1,n,i+1,pos-1) ;
			used[pos]=1 ;
			sss.upd(1,1,n,pos,0) ;
			q[-x].pop() ;
			q[x].pop() ;
		}
		else {
			int pos=q[-x].front() ;
			tt+=sss.query(1,1,n,i+1,pos-1) ;
			used[pos]=1 ;
			sss.upd(1,1,n,pos,0) ;
			q[-x].pop() ;
			q[x].pop() ;
			tt++ ;
		}
	}
	return tt;
}

Compilation message (stderr)

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:39:26: error: conversion from 'vector<int>' to non-scalar type 'vector<long long int>' requested
   39 |         vector <int> arr=arrr ;
      |                          ^~~~