#include <bits/stdc++.h>
// #pragma GCC optimize("O3")
// #pragma GCC target("avx2")
#define forn for(int i=1;i<=n;i++)
#define Yes cout<<"Yes\n"
#define No cout<<"No\n"
#define YES cout<<"YES\n"
#define NO cout<<"NO\n"
#define pb push_back
#define sp setprecision
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define int long long
#define ll long long
#define nn '\n'
using namespace std;
const int N=1e6;
const int M=105*105;
const int INF=1e18;
const int MOD=1e9+7;
int n;
int V,V2;
char c[N];
int a[N];
int check(int mid){
for(int v1=V;v1>=0;v1--){
int x=v1;
for(int i=2;i<=n;i++){
if(a[i]-a[i-1]<=mid) {
if(c[i]=='+') x++;
else x--;
x=max(0ll,x);
x=min(x,V);
}
}
if(x==V2) return v1;
}
return -1;
}
void al(){
cin>>n>>V>>V2;
for(int i=1;i<=n;i++){
cin>>c[i]>>a[i];
}
if(check(INF)!=-1){
cout<<"infinity\n";
return;
}
int l=0,r=INF;
int ans=-1;
while(l<=r){
int mid=(l+r)/2;
if(check(mid)!=-1){
l=mid+1;
ans=mid;
}
else r=mid-1;
}
if(l==INF) cout<<"infinity";
else if(ans!=-1) cout<<ans<<' '<<check(ans)<<'\n';
else cout<<"0 "<<V2<<'\n';
}
/*
5 1 0
a a с с с с
2 2 0 0 0 0
4
8
*/
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
// cout.tie(0);
int t=1;
// cin>>t;
while(t--) {
al();
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |