제출 #47282

#제출 시각아이디문제언어결과실행 시간메모리
47282yogahmadGap (APIO16_gap)C++14
70 / 100
105 ms3552 KiB
#include "gap.h" #include<bits/stdc++.h> using namespace std; long long findGap(int T, int N) { if(T==1){ long long sa,du; long long *kiri,*kanan; kiri=&sa; kanan=&du; MinMax(0,1e18,kiri,kanan); vector<long long>ve; ve.push_back(*kiri); long long jaw=0; ve.push_back(*kanan); while(1){ if(*kiri>*kanan) break; MinMax(*kiri+1,*kanan-1,kiri,kanan); if(*kiri==-1 && *kanan==-1) break; ve.push_back(*kiri); ve.push_back(*kanan); } sort(ve.begin(),ve.end()); for(int i=1;i<ve.size();i++) jaw=max(jaw,ve[i]-ve[i-1]); return jaw; } // cout<<T<<" "<<N<<endl; long long sa,du,ti,em; vector<long long>ve; long long *kiri,*kanan; kiri=&sa; kanan=&du; MinMax(0,1e18,kiri,kanan); // cout<<*kiri<<' '<<*kanan<<endl; long long gap=(*kanan-*kiri)/(N-1); long long jaw=0; // cout<<*kiri<<" "<<*kanan<<" "<<gap<<endl; long long awal; for(awal=*kiri;awal<=*kanan;awal+=gap+1){ // cout<<awal<<" <<<___\n"; long long *lo,*hi; lo=&ti; hi=&em; MinMax(awal,awal+gap,lo,hi); // cout<<awal<<' '<<awal+gap<<" -> "<<*lo<<" "<<*hi<<endl; if(*lo==-1 && *hi==-1) continue; ve.push_back(*lo); ve.push_back(*hi); } // cout<<awal<<endl; sort(ve.begin(),ve.end()); // for(int i:ve) // cout<<i<<' '; // cout<<endl; for(int i=1;i<ve.size();i++){ jaw=max(jaw,ve[i]-ve[i-1]); } // cout<<jaw<<endl; return jaw; }

컴파일 시 표준 에러 (stderr) 메시지

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:27:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=1;i<ve.size();i++)
               ~^~~~~~~~~~
gap.cpp:60:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=1;i<ve.size();i++){
              ~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...