提出 #42214815
ソースコード 拡げる
#include<cstdio>
#include<algorithm>
using namespace std;
#define Ls(i,l,r) for(int i=l;i<r;++i)
#define Rs(i,l,r) for(int i=l;i>r;--i)
#define Le(i,l,r) for(int i=l;i<=r;++i)
#define Re(i,l,r) for(int i=l;i>=r;--i)
#define L(i,l) for(int i=0;i<l;++i)
#define E(i,l) for(int i=1;i<=l;++i)
#define W(t) while(t--)
const int N=300010;
int n,cur;
typedef long long ll;
ll l,r=1e18,h;
struct att{
int t,d;
bool operator<(const att& x)const{
return 1ll*t*d>1ll*x.t*x.d;
}
}a[N];
bool check(ll mid){
__int128 res=0;
E(i, cur){
if(mid>=a[i].t){//如果当前的时间还可以供全部发挥
res+=(mid-a[i].t+1)*__int128(a[i].d)*a[i].t;
mid=a[i].t-1;
}
__int128 x=1ll*min(1ll*a[i+1].t,mid)*a[i+1].d/a[i].d;
res+=(x+1+mid)*(mid-x)/2*a[i].d;
//那么处于 x+1~mid 间的时间都必须使用i技能
mid=x;
}
if(res>=h)return true;
else return false;
}
int main(){
#ifndef ONLINE_JUDGE
freopen("1.in","r",stdin);
// freopen("1.out","w",stdout);
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
#endif
// Insert Code Here
scanf("%d%lld",&n,&h);
E(i, n)scanf("%d%d",&a[i].t,&a[i].d);
sort(a+1,a+1+n);
a[0].t=2e9;
E(i, n)if(a[i].t<a[cur].t&&a[i].d>a[cur].d)a[++cur]=a[i];
// E(i, cur)printf("%d %d\n",a[i].t,a[i].d);
a[cur+1].t=a[cur+1].d=0;
// printf("%d\n",check(13));
while(l<r){
ll mid=l+r>>1;
// printf("%lld\n",mid);
if(check(mid))r=mid;
else l=mid+1;
}
printf("%lld",l);
// bool f=check(2);
// printf("%d\n",f);
return 0;
}
提出情報
コンパイルエラー
./Main.cpp: In function ‘int main()’:
./Main.cpp:54:17: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses]
54 | ll mid=l+r>>1;
| ~^~
./Main.cpp:45:10: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
45 | scanf("%d%lld",&n,&h);
| ~~~~~^~~~~~~~~~~~~~~~
./Main.cpp:46:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
46 | E(i, n)scanf("%d%d",&a[i].t,&a[i].d);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
525 / 525 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
00_sample_00.txt, 00_sample_01.txt |
| All |
00_sample_00.txt, 00_sample_01.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 02_minmax_00.txt, 02_minmax_01.txt, 02_minmax_02.txt, 02_minmax_03.txt, 02_minmax_04.txt, 02_minmax_05.txt, 02_minmax_06.txt, 02_minmax_07.txt, 03_special_00.txt, 03_special_01.txt, 03_special_02.txt, 03_special_03.txt, 03_special_04.txt, 03_special_05.txt, 03_special_06.txt, 03_special_07.txt, 03_special_08.txt, 03_special_09.txt, 03_special_10.txt, 03_special_11.txt, 03_special_12.txt, 03_special_13.txt, 03_special_14.txt, 03_special_15.txt, 03_special_16.txt, 03_special_17.txt, 03_special_18.txt, 03_special_19.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00_sample_00.txt |
AC |
5 ms |
1644 KiB |
| 00_sample_01.txt |
AC |
2 ms |
1676 KiB |
| 01_rnd_00.txt |
AC |
94 ms |
3980 KiB |
| 01_rnd_01.txt |
AC |
91 ms |
4036 KiB |
| 01_rnd_02.txt |
AC |
90 ms |
3964 KiB |
| 01_rnd_03.txt |
AC |
91 ms |
3968 KiB |
| 01_rnd_04.txt |
AC |
91 ms |
3976 KiB |
| 01_rnd_05.txt |
AC |
52 ms |
4052 KiB |
| 01_rnd_06.txt |
AC |
52 ms |
4052 KiB |
| 01_rnd_07.txt |
AC |
55 ms |
3956 KiB |
| 01_rnd_08.txt |
AC |
52 ms |
4020 KiB |
| 01_rnd_09.txt |
AC |
52 ms |
4012 KiB |
| 02_minmax_00.txt |
AC |
46 ms |
3964 KiB |
| 02_minmax_01.txt |
AC |
61 ms |
3996 KiB |
| 02_minmax_02.txt |
AC |
61 ms |
4048 KiB |
| 02_minmax_03.txt |
AC |
71 ms |
4040 KiB |
| 02_minmax_04.txt |
AC |
48 ms |
4052 KiB |
| 02_minmax_05.txt |
AC |
61 ms |
4056 KiB |
| 02_minmax_06.txt |
AC |
62 ms |
4008 KiB |
| 02_minmax_07.txt |
AC |
74 ms |
4016 KiB |
| 03_special_00.txt |
AC |
238 ms |
4048 KiB |
| 03_special_01.txt |
AC |
211 ms |
4052 KiB |
| 03_special_02.txt |
AC |
209 ms |
3972 KiB |
| 03_special_03.txt |
AC |
206 ms |
3968 KiB |
| 03_special_04.txt |
AC |
204 ms |
3980 KiB |
| 03_special_05.txt |
AC |
203 ms |
4004 KiB |
| 03_special_06.txt |
AC |
202 ms |
3996 KiB |
| 03_special_07.txt |
AC |
202 ms |
4016 KiB |
| 03_special_08.txt |
AC |
201 ms |
4036 KiB |
| 03_special_09.txt |
AC |
203 ms |
4012 KiB |
| 03_special_10.txt |
AC |
394 ms |
4016 KiB |
| 03_special_11.txt |
AC |
389 ms |
3980 KiB |
| 03_special_12.txt |
AC |
386 ms |
4052 KiB |
| 03_special_13.txt |
AC |
388 ms |
3976 KiB |
| 03_special_14.txt |
AC |
382 ms |
3992 KiB |
| 03_special_15.txt |
AC |
387 ms |
3964 KiB |
| 03_special_16.txt |
AC |
390 ms |
4008 KiB |
| 03_special_17.txt |
AC |
384 ms |
3980 KiB |
| 03_special_18.txt |
AC |
383 ms |
3964 KiB |
| 03_special_19.txt |
AC |
382 ms |
3968 KiB |