2、7、10三个点不对,为什么?求大佬指教!

P2006 赵神牛的游戏

@[wwxxry](/space/show?uid=73349) ```cpp #include<iostream> #include<cstdio> #include<algorithm> #define rii register int i struct df{ long long a,b,c,num; }x[30005]; int n,m,k; bool cmp(df s,df d) { return s.c<d.c; } int main() { std::cin>>k>>m>>n; for(rii=1;i<=30005;i++) { x[i].num=i; } for(rii=1;i<=m;i++) { scanf("%d%d",&x[i].a,&x[i].b); if(x[i].b==0) { x[i].c=1<<29; continue; } x[i].c=(n/x[i].b)*x[i].a; if((n/x[i].b)*x[i].b<n) { x[i].c+=x[i].a; } } int pd=0; for(rii=1;i<=m;i++) { if(x[i].c<=k) { std::cout<<x[i].num; pd=1; printf(" "); } } if(pd==0) { std::cout<<"-1"; printf(" "); return 0; } } ```
by ztz11 @ 2018-07-01 16:40:33


谢谢
by wwxxry @ 2018-07-02 07:26:44


``` #include <cstdio> int k,m,n,i,a,b,f; int main (){ scanf ("%d%d%d",&k,&m,&n); for (i=0;i<m;i++){ scanf ("%d%d",&a,&b); if (a==0&&b>0){ printf ("%d ",i+1); continue; } if (k/a*b>=n){ printf ("%d ",i+1); f=1; } } if (f==0){ printf ("-1"); } return 0; } ``` 过了,谢谢!
by wwxxry @ 2018-07-02 13:24:36


|