atcoderでwaが出る原因
Q&A
Closed
解決したいこと
atcoderのABCコンテスト353のc問題でsampleケースは通るのですがほかのケースでwaが出ます。
どのケースでwaになるのか教えてください。
該当するソースコード
#include <bits/stdc++.h>
using namespace std;
typedef long long lint;
#define rep(i, n) for(int i = 0; i < (int) n; i++)
int main(void)
{
lint n;
cin >> n;
vector<lint> a(n);
rep(i, n) cin >> a[i];
const lint num = pow(10, 8);
int ans = 0;
rep(i, n) ans += a[i];
ans = (n -1) * ans;
sort(a.begin(), a.end());
int result = 0;
vector<lint> r(n);
for(int i = 0; i < n; i++)
{
if(i == 0) r[i] = n - 1;
else r[i] = r[i - 1];
while(true)
{
if(a[i] + a[r[i]] < num)
{
break;
}
else if(r[i] >= 0)
{
r[i]--;
}
else
{
break;
}
}
}
for(int i = 0; i < n; i++)
{
if(r[i] + 1 > i) result += (n - r[i] - 1);
else result += (n - r[i] - 2);
}
result /= 2;
cout << ans - result* num << endl;
return 0;
}
問題: https://atcoder.jp/contests/abc353/tasks/abc353_c
提出コード: https://atcoder.jp/contests/abc353/submissions/53572075
0