Submission #424858

#TimeUsernameProblemLanguageResultExecution timeMemory
424858ApiramArranging Shoes (IOI19_shoes)C++14
0 / 100
1 ms296 KiB
#include "shoes.h"
#include<bits/stdc++.h>
using namespace std;

long long count_swaps(std::vector<int> s) {
	int n = s.size()/2;
	vector<deque<int>>adj(n+1);
	vector<int>neg;
	int score=0;
	for (int i =0;i<s.size();++i){
		if (s[i]<0)neg.push_back(i);
		else{
			adj[s[i]].push_back(i);
		}
	}
	for (int i =0,j=0;i<neg.size();++i,j+=2){
	int temp = neg[i]-j;
	for (int k =0;k<n;++k){
		for (int l =0;l<adj[k].size();++l){
			if (adj[k][l]<neg[i]){
				adj[k][l]++;
			}
		}
	}
	int temp2 = adj[abs(s[neg[i]])][0];
	for (int k =0;k<n;++k){
		for (int l =0;l<adj[k].size();++l){
			if (adj[k][l]<temp2){
				adj[k][l]++;
			}
		}
	}
	for (int k =i+1;k<neg.size();++k){
		if (neg[k]<temp2)neg[k]++;
	}
	temp2 = j+1 - temp2;
	adj[abs(s[neg[i]])].pop_front();
	score+=temp2+temp;
	}
	return score;
}

Compilation message (stderr)

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:10:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |  for (int i =0;i<s.size();++i){
      |                ~^~~~~~~~~
shoes.cpp:16:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |  for (int i =0,j=0;i<neg.size();++i,j+=2){
      |                    ~^~~~~~~~~~~
shoes.cpp:19:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |   for (int l =0;l<adj[k].size();++l){
      |                 ~^~~~~~~~~~~~~~
shoes.cpp:27:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |   for (int l =0;l<adj[k].size();++l){
      |                 ~^~~~~~~~~~~~~~
shoes.cpp:33:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |  for (int k =i+1;k<neg.size();++k){
      |                  ~^~~~~~~~~~~
#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...