poj 3484 Showstopper

poj 3484 Showstopper,第1张

poj 3484 Showstopper
#include <iostream>#include <cstring>#include <cstdlib>#include <cmath>#include <vector>#include <cstdio>#include <algorithm>#define N 500005typedef long long LL;using namespace std;int n ;LL X[N] , Y[N] , Z[N];char str[55];LL cal(LL k){  LL sum = 0 , x;  for (int i = 1 ; i <= n; ++ i)  {    if (k < X[i]) continue;    x = min(k , Y[i]);    sum += (x - X[i]) / Z[i] + 1;  }  return sum;}void work(){  n = 1;  X[n] = 0;  sscanf(str , "%I64d %I64d %I64d" , &X[n] , &Y[n] , &Z[n]);  if (!X[n]) return;  memset(str , 0 , sizeof(str));  while (gets(str) , *str)    ++ n , sscanf(str , "%I64d %I64d %I64d" , &X[n] , &Y[n] , &Z[n]) , memset(str , 0 , sizeof(str));  LL l = 1 , r = 1LL << 33 , m;  while (l < r)  {    m = (l + r) >> 1;    if (cal(m) & 1)      r = m;    else l = m + 1;  }  if (l == 1LL << 33)    puts("no corruption");  else printf("%I64d %I64dn" , l , (cal(l) - cal(l - 1)));}int main(){  while(gets(str))    work();  return 0;}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4889129.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存