第4点wa,哪位巨佬可以帮忙看一下?

P1023 [NOIP2000 普及组] 税收与补贴问题

我的方法和你的不一样
by 15167987933yy @ 2023-07-31 14:29:03


要不你也瞅瞅
by 15167987933yy @ 2023-07-31 14:29:41


```c #include <bits/stdc++.h> #define MAX (100000+100) using namespace std; int x,r,m,n,p,d[MAX]; double Min=-1e9,Max=1e9; inline void read(int &a) { register char c=getchar(); bool f=0; for (a=0; c<'0'||'9'<c; c=getchar()) if (c=='-') f=1; for (; '0'<=c && c<='9'; c=getchar()) a=(a<<3)+(a<<1)+(c^48); if (f) a=-a; } int main() { read(x); read(m); read(n); r=m; while (m!=-1 && n!=-1) { d[m]=n; for (int i=p+1; i<m; i++) d[i]=d[i-1]+(n-d[p])/(m-p); p=m; read(m); read(n); }read(m); while (d[p]>m) p++,d[p]=d[p-1]-m; for (register int i=r; i<=p; i++) { double ans=(d[x]*(x-r)-d[i]*(i-r))*1.0/(d[i]-d[x]); double g=d[i]-d[x]; if (g>0) Max=min(Max,ans); else Min=max(Min,ans); } if (Min>0) printf("%d",(int)ceil(Min)); else if (Max<0) printf("%d",(int)floor(Max)); else puts("0"); return 0; } ```
by 15167987933yy @ 2023-07-31 14:32:27


@[15167987933yy](/user/934483) 有点看不懂
by Dio_The_World @ 2023-08-07 15:10:54


|