Submission #849115

#TimeUsernameProblemLanguageResultExecution timeMemory
849115abcvuitunggioArranging Shoes (IOI19_shoes)C++17
45 / 100
26 ms10896 KiB
#include "shoes.h" #include <bits/stdc++.h> using namespace std; int a[200001],cnt=1; long long res,f[200001]; vector <int> pos[100001]; long long count_swaps(vector <int> s){ for (int i=s.size()-1;i>=0;i--) if (s[i]>0) pos[s[i]].push_back(i); for (int i=0;i<s.size();i++) if (s[i]<0){ a[i]=cnt; a[pos[-s[i]].back()]=cnt+1; pos[-s[i]].pop_back(); cnt+=2; } for (int i=s.size()-1;i>=0;i--){ for (int j=a[i];j;j-=j&(-j)) res+=f[j]; for (int j=a[i];j<=s.size();j+=j&(-j)) f[j]++; } return res; }

Compilation message (stderr)

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:11:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |     for (int i=0;i<s.size();i++)
      |                  ~^~~~~~~~~
shoes.cpp:21:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |         for (int j=a[i];j<=s.size();j+=j&(-j))
      |                         ~^~~~~~~~~~
#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...