

解析:
因为可以无限操作,所以最大值即为全部数字的绝对值,次数为连续负数区间的个数。
- #include
- using namespace std;
- #define int long long
- const int N=2e5+5;
- int t,n,a[N];
- signed main(){
- scanf("%lld",&t);
- while(t--){
- scanf("%lld",&n);
- int sum=0;
- for(int i=1;i<=n;i++){
- scanf("%lld",&a[i]);
- sum+=abs(a[i]);
- }
- int cnt=0;
- for(int i=1;i<=n;i++){
- if(a[i]<0){
- int j;
- for(j=i;j<=n;j++){
- if(a[j]>0) break;
- }
- cnt+=1;
- i=j-1;
- }
- }
- printf("%lld %lld\n",sum,cnt);
- }
- return 0;
- }