Submission #738429

#TimeUsernameProblemLanguageResultExecution timeMemory
738429Elvin_FritlWiring (IOI17_wiring)C++17
0 / 100
2 ms2132 KiB
#include <bits/stdc++.h>
using namespace std;
#include "wiring.h"

const int MX=1e5+5;

long long min_total_length(vector<int> r, vector<int> b){
    vector<int>v(2e5+5,0);

    for(int i=0;i<(int)r.size();i++){
        v[r[i]]=1;
    }

    int say=0,n=(int)r.size() + (int)b.size();

    vector<int>tt;

    for(int i=0;i<=n;i++){
        if(i==0 || v[i]==v[i-1]){
            say++;
        }
        else{
            tt.push_back(say);
            say=1;
        }
    }

    tt.push_back(say);

    long long res=0;

    int j=1,i=0;

    while(i<n){
        if(tt[i]==0){
            i++;
            continue;
        }
        if(i==j){
            if(i==tt.size()-1){
                break;
            }
            j++;
        }
        if(j==tt.size()){
            
        }
        int tmp=min(tt[i],tt[j]);
        res+=(tmp*tmp);
        tt[i]-=tmp;
        tt[j]-=tmp;
        if(tt[i]==0){
            i++;
        }
        if(tt[j]==0){
            j++;
        }
    }

    return res;
}

Compilation message (stderr)

wiring.cpp: In function 'long long int min_total_length(std::vector<int>, std::vector<int>)':
wiring.cpp:40:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |             if(i==tt.size()-1){
      |                ~^~~~~~~~~~~~~
wiring.cpp:45:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |         if(j==tt.size()){
      |            ~^~~~~~~~~~~
#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...