提出 #76087633
ソースコード 拡げる
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+5;
bool st;
int n,t,a[N];
bool check(int x,int y,int xx,int yy,int xxx,int yyy) {
return (__int128)(yy-y)*(xxx-xx)>=(__int128)(yyy-yy)*(xx-x);
}
bool ed;
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cerr<<(double)(&st-&ed)/1024/1024<<'\n';
cin>>t;
while(t--) {
cin>>n;
int sum=0;
for(int i=1;i<=n;i++) {
int x;cin>>x;
a[i]=a[i-1]+x-(i-1);
if(i<n) sum+=a[i];
}
vector<int> s;s.clear();
for(int i=0;i<=n;i++) {
while(s.size()>=2) {
int y=s.back();
s.pop_back();int x=s.back();
if(!check(x,a[x],y,a[y],i,a[i])) {
s.push_back(y);
break;
}
}s.push_back(i);
}
int ssum=0;
for(int i=0;i<s.size()-1;i++) {
int u=s[i],v=s[i+1];
int l=v-u,x=a[v]-a[u];
int q=x/l;
if(x<0&&x%l!=0) q--;
int r=x-q*l;
int m=l-r;
__int128 sum1=m*a[u]+q*m*(m+1)/2;
__int128 sum2=r*(__int128)(a[u]+m*q)+(q+1)*r*(r+1)/2;
ssum+=sum1+sum2;
}
cout<<sum-ssum+a[n]<<'\n';
}
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - -1, +1 |
| ユーザ | wallacewan |
| 言語 | C++23 (GCC 15.2.0) |
| 得点 | 0 |
| コード長 | 1109 Byte |
| 結果 | WA |
| 実行時間 | 57 ms |
| メモリ | 5564 KiB |
コンパイルエラー
./Main.cpp: In function 'int main()':
./Main.cpp:40:30: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
40 | for(int i=0;i<s.size()-1;i++) {
| ~^~~~~~~~~~~
ジャッジ結果
| セット名 | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 0 / 525 | ||||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt |
| All | 00_sample_00.txt, 01_handmade_00.txt, 01_handmade_01.txt, 01_handmade_02.txt, 01_handmade_03.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3844 KiB |
| 01_handmade_00.txt | AC | 24 ms | 5512 KiB |
| 01_handmade_01.txt | AC | 25 ms | 5448 KiB |
| 01_handmade_02.txt | AC | 22 ms | 5564 KiB |
| 01_handmade_03.txt | AC | 26 ms | 5476 KiB |
| 02_random_00.txt | AC | 44 ms | 3920 KiB |
| 02_random_01.txt | AC | 57 ms | 3960 KiB |
| 02_random_02.txt | AC | 18 ms | 3948 KiB |
| 02_random_03.txt | AC | 32 ms | 3820 KiB |
| 02_random_04.txt | AC | 17 ms | 3960 KiB |
| 02_random_05.txt | AC | 32 ms | 4044 KiB |
| 02_random_06.txt | AC | 16 ms | 4084 KiB |
| 02_random_07.txt | AC | 31 ms | 3928 KiB |
| 02_random_08.txt | AC | 17 ms | 5484 KiB |
| 02_random_09.txt | WA | 32 ms | 5504 KiB |