Submission #424882

#TimeUsernameProblemLanguageResultExecution timeMemory
424882ApiramArranging Shoes (IOI19_shoes)C++14
10 / 100
1 ms332 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]; adj[abs(s[neg[i]])].pop_front(); for (int k =0;k<n;++k){ for (int l =0;l<adj[k].size();++l){ if (adj[k][l]<temp2){ adj[k][l]++; } } } if (temp2<temp+j)temp2++; for (int k =i+1;k<neg.size();++k){ if (neg[k]<temp2)neg[k]++; } temp2 = temp2 - j - 1; 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:28:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |   for (int l =0;l<adj[k].size();++l){
      |                 ~^~~~~~~~~~~~~~
shoes.cpp:35:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |  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...