Submission #1655728


Source Code Expand

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <cassert>
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,n) FOR(i,0,n)
#define rep(i,n) FOR(i,0,n)
#define DEBUG(x) cout<<#x<<": "<<x<<endl
#define vint vector<int>
#define vdouble vector<double>
#define vstring vector<string>
using namespace std;

#include<map>
#include<set>
#include<queue>

typedef long long ll;
typedef unsigned long long ull;

const int MAX_N = 1000000;
const int INFTY = (1 << 21); // 2097152
// const ll INFTY = (1LL << 60);
const ll MD = 1000000007LL;
// fprintf(stderr, "%d %lld \n", x, xll);


int H, W;
ll XX, A, P;
class Data{

public:

	int value, y, x;
	Data(int y, int x, int value) {
		this -> value = value;
		this -> y = y;
		this -> x = x;
	}

	bool operator < (const Data &d) const{
		return value < d.value;
	}
	bool operator >(const Data &d) const{
		return value > d.value;
	}
};

vector<Data> V;

int main() {
	cin >> H >> W;
	cin >> XX >> A >> P;

	if(A % P == 0){
		if(XX == (XX + A) % P){
			cout << 0 << endl; return 0;
		}
		else{
			cout << (H - 1) * 2 << endl; return 0;
		}
	}
	else{
		ll xx = XX;
		rep(y, H)
			rep(x, W){
				V.push_back(Data(y, x, xx));
				xx = (xx + A) % P;
			}

		sort(V.begin(), V.end());
        for(auto v: V){
            // fprintf(stderr, "%d %d %d\n", v.y, v.x, v.value);
        }

		ll ret = 0;
		rep(y, H){
			vint XS;
			rep(x, W){
				int i = y * W + x;
				XS.push_back(V[i].x);
				ret += abs(V[i].y - y);
			}
			sort(XS.begin(), XS.end());
			rep(x, W){
				ret += abs(XS[x] - x);
			}
		}

		cout << ret << endl;
	}


}

Submission Info

Submission Time
Task C - 席替え
User threecourse
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1718 Byte
Status AC
Exec Time 3 ms
Memory 512 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 82
Set Name Test Cases
All case_01.txt, case_02.txt, case_03.txt, case_04.txt, case_05.txt, case_06.txt, case_07.txt, case_08.txt, case_09.txt, case_10.txt, case_11.txt, case_12.txt, case_13.txt, case_14.txt, case_15.txt, case_16.txt, case_17.txt, case_18.txt, case_19.txt, case_20.txt, case_21.txt, case_22.txt, case_23.txt, case_24.txt, case_25.txt, case_26.txt, case_27.txt, case_28.txt, case_29.txt, case_30.txt, case_31.txt, case_32.txt, case_33.txt, case_34.txt, case_35.txt, case_36.txt, case_37.txt, case_38.txt, case_39.txt, case_40.txt, case_41.txt, case_42.txt, case_43.txt, case_44.txt, case_45.txt, case_46.txt, case_47.txt, case_48.txt, case_49.txt, case_50.txt, case_51.txt, case_52.txt, case_53.txt, case_54.txt, case_55.txt, case_56.txt, case_57.txt, case_58.txt, case_59.txt, case_60.txt, case_61.txt, case_62.txt, case_63.txt, case_64.txt, case_65.txt, case_66.txt, case_67.txt, case_68.txt, case_69.txt, case_70.txt, case_71.txt, case_72.txt, case_73.txt, case_74.txt, case_75.txt, case_76.txt, case_77.txt, case_78.txt, case_79.txt, sample_1.txt, sample_2.txt, sample_3.txt
Case Name Status Exec Time Memory
case_01.txt AC 2 ms 384 KB
case_02.txt AC 2 ms 384 KB
case_03.txt AC 2 ms 384 KB
case_04.txt AC 1 ms 256 KB
case_05.txt AC 1 ms 256 KB
case_06.txt AC 1 ms 256 KB
case_07.txt AC 1 ms 256 KB
case_08.txt AC 1 ms 256 KB
case_09.txt AC 1 ms 384 KB
case_10.txt AC 2 ms 384 KB
case_11.txt AC 1 ms 256 KB
case_12.txt AC 2 ms 384 KB
case_13.txt AC 1 ms 256 KB
case_14.txt AC 2 ms 384 KB
case_15.txt AC 2 ms 384 KB
case_16.txt AC 2 ms 384 KB
case_17.txt AC 2 ms 384 KB
case_18.txt AC 2 ms 384 KB
case_19.txt AC 2 ms 512 KB
case_20.txt AC 2 ms 384 KB
case_21.txt AC 2 ms 384 KB
case_22.txt AC 1 ms 256 KB
case_23.txt AC 2 ms 384 KB
case_24.txt AC 2 ms 384 KB
case_25.txt AC 1 ms 256 KB
case_26.txt AC 2 ms 384 KB
case_27.txt AC 2 ms 384 KB
case_28.txt AC 1 ms 256 KB
case_29.txt AC 2 ms 384 KB
case_30.txt AC 2 ms 384 KB
case_31.txt AC 1 ms 256 KB
case_32.txt AC 1 ms 256 KB
case_33.txt AC 2 ms 384 KB
case_34.txt AC 2 ms 384 KB
case_35.txt AC 1 ms 256 KB
case_36.txt AC 2 ms 384 KB
case_37.txt AC 1 ms 256 KB
case_38.txt AC 1 ms 256 KB
case_39.txt AC 2 ms 384 KB
case_40.txt AC 2 ms 384 KB
case_41.txt AC 1 ms 256 KB
case_42.txt AC 1 ms 256 KB
case_43.txt AC 2 ms 384 KB
case_44.txt AC 1 ms 256 KB
case_45.txt AC 2 ms 384 KB
case_46.txt AC 2 ms 384 KB
case_47.txt AC 2 ms 384 KB
case_48.txt AC 1 ms 256 KB
case_49.txt AC 1 ms 256 KB
case_50.txt AC 2 ms 512 KB
case_51.txt AC 2 ms 512 KB
case_52.txt AC 2 ms 512 KB
case_53.txt AC 2 ms 512 KB
case_54.txt AC 2 ms 512 KB
case_55.txt AC 2 ms 512 KB
case_56.txt AC 2 ms 512 KB
case_57.txt AC 2 ms 512 KB
case_58.txt AC 2 ms 512 KB
case_59.txt AC 2 ms 512 KB
case_60.txt AC 2 ms 512 KB
case_61.txt AC 2 ms 512 KB
case_62.txt AC 2 ms 512 KB
case_63.txt AC 2 ms 512 KB
case_64.txt AC 3 ms 512 KB
case_65.txt AC 3 ms 512 KB
case_66.txt AC 3 ms 512 KB
case_67.txt AC 2 ms 512 KB
case_68.txt AC 3 ms 512 KB
case_69.txt AC 3 ms 512 KB
case_70.txt AC 1 ms 256 KB
case_71.txt AC 1 ms 256 KB
case_72.txt AC 1 ms 256 KB
case_73.txt AC 1 ms 256 KB
case_74.txt AC 1 ms 256 KB
case_75.txt AC 1 ms 256 KB
case_76.txt AC 1 ms 256 KB
case_77.txt AC 1 ms 256 KB
case_78.txt AC 1 ms 256 KB
case_79.txt AC 1 ms 256 KB
sample_1.txt AC 1 ms 256 KB
sample_2.txt AC 1 ms 256 KB
sample_3.txt AC 1 ms 256 KB