Submission #165137

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
1651372019-11-25 10:32:27SegtreeWiring (IOI17_wiring)C++14
100 / 100
289 ms58384 KiB
#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include<set>
#include<unordered_map>
#include<unordered_set>
#include"wiring.h"
using namespace std;
typedef long long ll;
#define chmax(a,b) a=max(a,b)
#define chmin(a,b) a=min(a,b)
#define mod 1000000007
#define mad(a,b) a=(a+b)%mod
#define N 100010
struct qry{
ll ida,idb,cost;
bool operator<(const qry&key)const{
if(this->ida!=key.ida)return this->ida>key.ida;
if(this->idb!=key.idb)return this->idb>key.idb;
return this->cost>key.cost;
};
};
qry qrys(ll p,ll q,ll r){
qry gen;
gen.ida=p;
gen.idb=q;
gen.cost=r;
return gen;
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

wiring.cpp: In function 'll min_total_length(std::vector<int>, std::vector<int>)':
wiring.cpp:44:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     ruia[0]=0; for(int i=0;i<a.size();i++)ruia[i+1]=ruia[i]+a[i];
                            ~^~~~~~~~~
wiring.cpp:45:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     ruib[0]=0; for(int i=0;i<b.size();i++)ruib[i+1]=ruib[i]+b[i];
                            ~^~~~~~~~~
wiring.cpp:54:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int p=0;p<a.size();p++){
                 ~^~~~~~~~~
wiring.cpp:55:8: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(;q<b.size()&&a[p]>b[q];q++){}
       ~^~~~~~~~~
wiring.cpp:57:6: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(q<b.size())ad(p,q);
     ~^~~~~~~~~
wiring.cpp:61:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int p=0;p<b.size();p++){
                 ~^~~~~~~~~
wiring.cpp:62:8: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(;q<a.size()&&b[p]>a[q];q++){}
       ~^~~~~~~~~
wiring.cpp:64:6: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(q<a.size())ad(q,p);
     ~^~~~~~~~~
wiring.cpp:86:8: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(i+1<a.size()){
     ~~~^~~~~~~~~
wiring.cpp:89:8: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(j+1<b.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...