Submission #145423

#TimeUsernameProblemLanguageResultExecution timeMemory
145423cfalasArranging Shoes (IOI19_shoes)C++14
10 / 100
31 ms3064 KiB
#include<bits/stdc++.h>
using namespace std;
#include "shoes.h"

long long count_swaps(std::vector<int> s) {
	long long n = s.size()/2;
	int swaps=0;
	int cont=0;
	int maxal=0;
	for(int i=0;i<s.size();i++){
		if(s[i]<0 && maxal>=0) cont++, maxal--;
		else{
			if(s[i]>0) maxal++;
			if(maxal>0)
			swaps += 1 + cont*(cont-1)/2;
			cont = 0;
		}
		//cout<<s[i]<<" "<<cont<<" "<<maxal<<endl;
	}
	swaps += cont*(cont-1)/2;
	return swaps;
	int ind = 0;
	while(ind<s.size()){
		if(s[ind]>0) swaps++;
		for(int i=ind;i<s.size();i++){
			if(s[i]==-s[ind]){
				swaps += (i-ind-1);
				s.erase(s.begin()+i);
				s.insert(s.begin()+ind+1, -s[ind]);
				ind+=2;
				break;
			}
		}
	}
	return swaps;
}

Compilation message (stderr)

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:10:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<s.size();i++){
              ~^~~~~~~~~
shoes.cpp:23:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  while(ind<s.size()){
        ~~~^~~~~~~~~
shoes.cpp:25:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=ind;i<s.size();i++){
                 ~^~~~~~~~~
shoes.cpp:6:12: warning: unused variable 'n' [-Wunused-variable]
  long long n = s.size()/2;
            ^
#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...