제출 #864559

#제출 시각아이디문제언어결과실행 시간메모리
864559manizareSparklers (JOI17_sparklers)C++14
0 / 100
1 ms2648 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #define pb push_back #define F first #define S second #define all(a) a.begin(),a.end() #define pii pair <int,int> #define Pii pair< pii , pii > #define int long long #define ld long double using namespace std ; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); const int maxn = 6e5 + 10 , sq = 3 , maxq = 1e7 + 1 , inf = 1e18 + 10 , mod= 998244353 ,lg = 20 ; int n ,t , k; vector <ld> a , b ; int x[maxn] ; ld pa[maxn] , pb[maxn] , ma[maxn] , mb[maxn] ; int sl(){ ld sm = 0 , sm2 , val =0 ;int l = 1 ; for(int i =1 ; i < a.size() ; i++){ sm += a[i]; if(sm >= 0){ val += sm ; sm = 0 ; l = i+1 ; } } sm2 = sm ; sm = 0 ;int l2 = 1 ; for(int i = 1 ;i < b.size() ; i++){ sm += b[i] ; if(sm >= 0){ val += sm ; sm =0 ; l2 = i+1 ; } } ld val2 = val; bool ok1 = 1 , ok2 = 1; for(int i = l ; i < a.size() ; i++){ val2 += a[i] ; if(val2 < 0)ok1 = 0 ; } for(int i = l2 ; i < b.size() ; i++){ val2 += b[i] ; if(val2 < 0)ok1 =0 ; } for(int i = l2 ; i < b.size() ; i++){ val += b[i] ; if(val < 0)ok2 =0 ; } for(int i = l ; i < a.size() ; i++){ val += a[i] ; if(val < 0)ok2 =0 ; } return ok1|ok2 ; } bool ch(int z){ a.clear();b.clear(); a.pb(0); b.pb(0) ; a.pb((ld)t); for(int i = k+1; i <= n ; i++){ a.pb(-(ld)(x[i] - x[i-1])/(ld)(2*(ld)z)); a.pb((ld)t) ; } for(int i = k-1 ; i >= 1; i--){ b.pb(-(ld)(x[i+1] - x[i])/(ld)(2*(ld)z)); b.pb((ld)t) ; } return sl() ; } signed main() { ios::sync_with_stdio(0) ; cin.tie(0) ; cout.tie(0) ; cin >> n >> k >> t ; for(int i = 1; i <= n ; i++){ cin >> x[i] ; } int l = 0 , r = 1e9 ; while(r-l>1){ int mid = (l+r)/2 ; if(ch(mid) == 1)r= mid ; else l = mid ; } cout << r << "\n"; } /* */

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

sparklers.cpp: In function 'long long int sl()':
sparklers.cpp:21:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |   for(int i =1 ; i < a.size() ; i++){
      |                  ~~^~~~~~~~~~
sparklers.cpp:31:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |   for(int i = 1 ;i < b.size() ; i++){
      |                  ~~^~~~~~~~~~
sparklers.cpp:41:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |   for(int i = l ; i < a.size() ; i++){
      |                   ~~^~~~~~~~~~
sparklers.cpp:45:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |   for(int i = l2 ; i < b.size() ; i++){
      |                    ~~^~~~~~~~~~
sparklers.cpp:49:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |   for(int i = l2 ; i < b.size() ; i++){
      |                    ~~^~~~~~~~~~
sparklers.cpp:53:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |   for(int i = l ; i < a.size() ; i++){
      |                   ~~^~~~~~~~~~
sparklers.cpp:20:15: warning: variable 'sm2' set but not used [-Wunused-but-set-variable]
   20 |   ld sm = 0 , sm2 , val =0  ;int l = 1 ;
      |               ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...