蒟蒻求助

P1223 排队接水

```cpp //请忽略头文件 #include<assert.h> #include<ctype.h> #include<errno.h> #include<float.h> #include<iostream> #include<limits.h> #include<locale.h> #include<math.h> #include<stdio.h> #include<stdlib.h> #include<time.h> #include<wctype.h> #include<algorithm> #include<bitset> #include<cctype> #include<cerrno> #include<clocale> #include<cmath> #include<complex> #include<cstring> #include<ctime> #include<deque> #include<exception> #include<fstream> #include<functional> #include<limits> #include<list> #include<map> #include<iomanip> #include<ios> #include<iosfwd> #include<iostream> #include<istream> #include<ostream> #include<queue> #include<set> #include<sstream> #include<stack> #include<stdexcept> #include<streambuf> #include<string> #include<utility> #include<vector> #include<cwchar> #include<complex.h> #include<fenv.h> #include<inttypes.h> #include<stdbool.h> #include<stdint.h> #define min(a,b) a<b?a:b #define max(a,b) a>b?a:b #define INF 1<<30 using namespace std; inline void read(long long &x) { char ch=getchar();x=0; for(;ch<'0'||ch>'9';ch=getchar()); for(;ch>='0'&&ch<='9';x=x*10+ch-'0',ch=getchar()); } inline void write(long long x) { char F[200]; int tmp=x>0?x:-x ; if(x<0)putchar('-') ; int cnt=0 ; while(tmp>0) { F[cnt++]=tmp%10+'0'; tmp/=10; } while(cnt>0)putchar(F[--cnt]); } //从这看吧 struct node { int t; int bh; }a[10000005]; long long n,sum; bool cmp(node x,node y){if(x.t==y.t)return x.bh<y.bh;else return x.t<y.t;} int main() { //std::ios::sync_with_stdio(false); scanf("%d",&n); for(register int i=1;i<=n;i++) scanf("%d",&a[i].t),a[i].bh=i; sort(a+1,a+n+1,cmp); for(register int i=1;i<=n;i++) printf("%d ",a[i].bh),sum+=a[i].t*(n-i); printf("\n%.2lf\n",double(sum)/double(n)); return 0; } /* 我表示看不出来哪错了,把数据下载下来,发现你的输出是 nan? 蒟蒻表示十分的不明白 */
by Dovе @ 2019-08-26 09:28:47


谢大佬,把avg改double就过了
by 被jc的lmk @ 2019-08-27 08:25:35


|